/*
 Navicat Premium Data Transfer

 Source Server         : generator@114.55.137.209
 Source Server Type    : MySQL
 Source Server Version : 50650
 Source Host           : 114.55.137.209:3306
 Source Schema         : code_generator

 Target Server Type    : MySQL
 Target Server Version : 50650
 File Encoding         : 65001

 Date: 14/04/2021 15:33:44
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for gen_table
-- ----------------------------
DROP TABLE IF EXISTS `gen_table`;
CREATE TABLE `gen_table`  (
  `table_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '业务主键',
  `data_source_id` int(11) NULL DEFAULT NULL COMMENT '数据源主键',
  `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表名称',
  `table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表描述',
  `sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联父表的表名',
  `sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本表关联父表的外键名',
  `class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '实体类名称(首字母大写)',
  `tpl_category` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '若依操作模板（crud单表操作 tree树表操作 sub主子表操作）',
  `package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成包路径',
  `module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成模块名',
  `business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成业务名',
  `function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成功能名',
  `function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成作者',
  `gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '生成代码方式（0 zip压缩包 1 自定义路径）',
  `gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成路径（不填默认项目路径）',
  `options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其它生成选项',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注信息',
  PRIMARY KEY (`table_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成表业务信息' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of gen_table
-- ----------------------------
INSERT INTO `gen_table` VALUES (0, 0, 'gen_table', '代码生成表业务信息', NULL, NULL, 'GenTable', 'crud', 'com.walming.generator', 'generator', 'table', '代码生成业务信息', 'walming', '0', '/', '{}', 'admin', '2020-11-10 23:05:15', NULL, NULL, NULL);

-- ----------------------------
-- Table structure for gen_table_column
-- ----------------------------
DROP TABLE IF EXISTS `gen_table_column`;
CREATE TABLE `gen_table_column`  (
  `column_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '字段主键',
  `table_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '归属表编号',
  `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '列名称',
  `column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列描述',
  `column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '列类型',
  `java_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JAVA类型',
  `java_field` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JAVA字段名',
  `is_pk` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否主键（1是）',
  `is_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否自增（1是）',
  `is_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否必填（1是）',
  `is_insert` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否为插入字段（1是）',
  `is_edit` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否编辑字段（1是）',
  `is_list` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否列表字段（1是）',
  `is_query` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否查询字段（1是）',
  `query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '查询方式（EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围）',
  `html_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '显示类型（input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件）',
  `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型',
  `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
  `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注信息',
  PRIMARY KEY (`column_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3482 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务字段信息' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of gen_table_column
-- ----------------------------
INSERT INTO `gen_table_column` VALUES (1115, '0', 'table_id', '业务主键', 'int(11)', 'Long', 'tableId', '1', '1', NULL, '1', NULL, NULL, NULL, NULL, 'input', '', 1, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1116, '0', 'data_source_id', '数据源主键', 'int(11)', 'Long', 'dataSourceId', '0', '0', NULL, '1', '1', '1', '1', NULL, 'input', '', 2, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1117, '0', 'table_name', '表名称', 'varchar(200)', 'String', 'tableName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1118, '0', 'table_comment', '表描述', 'varchar(500)', 'String', 'tableComment', '0', '0', NULL, '1', '1', '1', '1', NULL, 'textarea', '', 4, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1119, '0', 'sub_table_name', '关联父表的表名', 'varchar(64)', 'String', 'subTableName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 5, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1120, '0', 'sub_table_fk_name', '本表关联父表的外键名', 'varchar(64)', 'String', 'subTableFkName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 6, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1121, '0', 'class_name', '实体类名称(首字母大写)', 'varchar(100)', 'String', 'className', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 7, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1122, '0', 'tpl_category', '若依操作模板（crud单表操作 tree树表操作 sub主子表操作）', 'varchar(20)', 'String', 'tplCategory', '0', '0', '1', '1', '1', '1', '1', NULL, 'input', '', 8, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1123, '0', 'package_name', '生成包路径', 'varchar(100)', 'String', 'packageName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 9, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1124, '0', 'module_name', '生成模块名', 'varchar(30)', 'String', 'moduleName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 10, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1125, '0', 'business_name', '生成业务名', 'varchar(30)', 'String', 'businessName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 11, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1126, '0', 'function_name', '生成功能名', 'varchar(50)', 'String', 'functionName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 12, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1127, '0', 'function_author', '生成作者', 'varchar(50)', 'String', 'functionAuthor', '0', '0', NULL, '1', '1', '1', '1', NULL, 'input', '', 13, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1128, '0', 'gen_type', '生成代码方式（0 zip压缩包 1 自定义路径）', 'char(1)', 'String', 'genType', '0', '0', '1', '1', '1', '1', '1', NULL, 'select', '', 14, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1129, '0', 'gen_path', '生成路径（不填默认项目路径）', 'varchar(200)', 'String', 'genPath', '0', '0', NULL, '1', '1', '1', '1', NULL, 'input', '', 15, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1130, '0', 'options', '其它生成选项', 'varchar(1000)', 'String', 'options', '0', '0', NULL, '1', '1', '1', '1', NULL, 'textarea', '', 16, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1131, '0', 'create_by', '创建人', 'varchar(64)', 'String', 'createBy', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, 'input', '', 17, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1132, '0', 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, 'datetime', '', 18, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1133, '0', 'update_by', '修改人', 'varchar(64)', 'String', 'updateBy', '0', '0', NULL, '1', '1', NULL, NULL, NULL, 'input', '', 19, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1134, '0', 'update_time', '修改时间', 'datetime', 'Date', 'updateTime', '0', '0', NULL, '1', '1', NULL, NULL, NULL, 'datetime', '', 20, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);
INSERT INTO `gen_table_column` VALUES (1135, '0', 'remark', '备注信息', 'varchar(500)', 'String', 'remark', '0', '0', NULL, '1', '1', '1', NULL, NULL, 'textarea', '', 21, 'admin', '2020-11-14 13:50:11', NULL, NULL, NULL);

-- ----------------------------
-- Table structure for gen_template
-- ----------------------------
DROP TABLE IF EXISTS `gen_template`;
CREATE TABLE `gen_template`  (
  `template_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '模版id',
  `template_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板集编号',
  `template_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板文件名（文件名+后缀名）',
  `template_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模板内容',
  `template_sort` int(11) NOT NULL COMMENT '排序',
  `byte_num` int(11) NOT NULL COMMENT '内容字节数',
  `line_num` int(11) NOT NULL COMMENT '行数',
  `is_built_in` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'N' COMMENT '系统内置（Y是 N否）',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注信息',
  PRIMARY KEY (`template_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 89 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成模版' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of gen_template
-- ----------------------------
INSERT INTO `gen_template` VALUES (64, 'mybatis', 'controller.java', 'package ${packageName}.controller;\n\nimport java.util.List;\nimport ${packageName}.domain.${ClassName};\nimport ${packageName}.service.I${ClassName}Service;\n#if(${swaggerConfig})\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\n#end\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\nimport ${packageName}.common.core.controller.BaseController;\nimport org.springframework.beans.factory.annotation.Autowired;\n\n/**\n * <p>\n * ${functionName} 前端控制器\n * </p>\n * \n * @author ${author}\n * @date ${datetime}\n */\n@RestController\n@RequestMapping(\"/${moduleName}/${businessName}\")\n#if(${swaggerConfig})\n@Api(value = \"${functionName}相关接口\", tags = \"${functionName}相关接口\")\n#end\npublic class ${ClassName}Controller extends BaseController {\n\n    @Resource\n    private I${ClassName}Service ${className}Service;\n\n    /**\n     * 根据${pkColumn.javaField}获取${functionName}\n     *\n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return ${functionName}\n     */\n    @GetMapping(\"/get/{${pkColumn.javaField}}\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"根据${pkColumn.javaField}获取${functionName}\" , notes = \"根据${pkColumn.javaField}获取${functionName}\")\n#end\n    public ${ClassName} get${ClassName}ById(@PathVariable(\"${pkColumn.javaField}\") ${pkColumn.javaType} ${pkColumn.javaField}) {\n        return ${className}Service.get${ClassName}ById(${pkColumn.javaField});\n    }\n\n    /**\n     * 查询${functionName}列表\n     */\n    @PostMapping(\"/list\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"查询${functionName}列表\", notes = \"查询${functionName}列表\")\n#end\n    public List<${ClassName}> list(${ClassName} ${className}) {\n        return ${className}Service.select${ClassName}List(${className});;\n    }\n\n    /**\n     * 新增保存${functionName}\n     *\n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    @PostMapping(\"/add\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"新增保存${functionName}\", notes = \"新增保存${functionName}\")\n#end\n    public int insert${ClassName}(@RequestBody ${ClassName} ${className}) {\n        return ${className}Service.insert${ClassName}(${className})\n    }\n\n    /**\n     * 修改保存${functionName}\n     *\n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    @PostMapping(\"/edit\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"修改保存${functionName}\", notes = \"修改保存${functionName}\")\n#end\n    public int update${ClassName}ById(@RequestBody ${ClassName} ${className}) {\n        return ${className}Service.update${ClassName}(${className});\n    }\n\n    /**\n     * 批量删除${functionName}\n     *\n     * @param ids 需要删除的数据ID\n     * @return 结果\n     */\n    @PostMapping(\"/remove\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"删除${functionName}\" , notes = \"删除${functionName}\")\n#end\n    public int remove${ClassName}ByIds(String ids) {\n        return ${className}Service.delete${ClassName}ByIds(ids)\n    }\n\n}', 2, 3070, 100, 'N', '0', 'admin', '2021-01-07 16:16:58', 'admin', '2021-01-11 18:07:31', 'mybatis的前端控制器模板');
INSERT INTO `gen_template` VALUES (65, 'mybatis', 'domain.java', 'package ${packageName}.domain;\n\n#if(${swaggerConfig})\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\n#end\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\nimport lombok.experimental.Accessors;\nimport ${packageName}.common.core.domain.BaseEntity;\n\n#foreach ($import in $importList)\nimport ${import};\n#end\n\n/**\n * <p>\n * ${functionName}\n * </p>\n *\n *@author ${author}\n *@date ${datetime}\n */\n@Data\n@Accessors(chain = true)\n@EqualsAndHashCode(callSuper = false)\n#if(${swaggerConfig})\n@ApiModel(value = \"${ClassName}${functionName}\", description = \"${functionName}\")\n#end\npublic class ${ClassName} extends BaseEntity {\n\n#foreach ($column in $columns)\n#if(!$table.isSuperColumn($column.javaF1ield))\n    /** $column.columnComment */\n#if(${swaggerConfig})\n    @ApiModelProperty(\"$column.columnComment\")\n#end\n#end\n#if(${excel})\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n    #set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n    #set($comment=$column.columnComment)\n#end\n#if($parentheseIndex != -1)\n    @Excel(name = \"${comment}\", readConverterExp = \"$column.readConverterExp()\")\n#elseif($column.javaType == \'Date\')\n    @Excel(name = \"${comment}\", width = 30, dateFormat = \"yyyy-MM-dd\")\n#else\n    @Excel(name = \"${comment}\")\n#end\n#end\n    private $column.javaType $column.javaField;\n#end\n}', 1, 1395, 56, 'N', '0', 'admin', '2021-01-07 17:27:14', 'admin', '2021-02-02 15:57:34', 'mybatis的实体类');
INSERT INTO `gen_template` VALUES (66, 'mybatis', 'mapper.java', 'package ${packageName}.mapper;\n\nimport java.util.List;\nimport ${packageName}.domain.${ClassName};\n\n/**\n * <p>\n * ${functionName} BaseMapper\n * </p>\n *\n * @author ${author}\n * @date ${datetime}\n */\npublic interface ${ClassName}Mapper {\n\n    /**\n     * 查询${functionName}\n     *\n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return ${functionName}\n     */\n    ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField});\n\n    /**\n     * 查询${functionName}列表\n     *\n     * @param ${className} ${functionName}\n     * @return ${functionName}集合\n     */\n    List<${ClassName}> select${ClassName}List(${ClassName} ${className});\n\n    /**\n     * 新增${functionName}\n     *\n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    int insert${ClassName}(${ClassName} ${className});\n\n    /**\n     * 修改${functionName}\n     *\n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    int update${ClassName}(${ClassName} ${className});\n\n    /**\n     * 删除${functionName}\n     *\n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return 结果\n     */\n    int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField});\n\n    /**\n     * 批量删除${functionName}\n     *\n     * @param ${pkColumn.javaField}s 需要删除的数据ID\n     * @return 结果\n     */\n    int delete${ClassName}ByIds(String[] ${pkColumn.javaField}s);\n\n}', 3, 1432, 64, 'N', '0', 'admin', '2021-01-07 17:28:56', 'admin', '2021-01-07 17:29:22', 'mybatis的数据层类');
INSERT INTO `gen_template` VALUES (67, 'mybatis', 'service.java', 'package ${packageName}.service;\n\nimport java.util.List;\nimport ${packageName}.domain.${ClassName};\n\n/**\n * <p>\n * ${functionName} IService\n * </p>\n * \n * @author ${author}\n * @date ${datetime}\n */\npublic interface I${ClassName}Service {\n\n    /**\n     * 查询${functionName}\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return ${functionName}\n     */\n    ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField});\n\n    /**\n     * 查询${functionName}列表\n     * \n     * @param ${className} ${functionName}\n     * @return ${functionName}集合\n     */\n    List<${ClassName}> select${ClassName}List(${ClassName} ${className});\n\n    /**\n     * 新增${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    int insert${ClassName}(${ClassName} ${className});\n\n    /**\n     * 修改${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    int update${ClassName}(${ClassName} ${className});\n\n    /**\n     * 批量删除${functionName}\n     * \n     * @param ids 需要删除的数据ID，多个用逗号分隔\n     * @return 结果\n     */\n    int delete${ClassName}ByIds(String ids);\n\n    /**\n     * 删除${functionName}信息\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return 结果\n     */\n    int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField});\n\n}', 4, 1430, 64, 'N', '0', 'admin', '2021-01-07 17:29:53', 'admin', '2021-01-07 17:30:03', 'mybatis的业务层类');
INSERT INTO `gen_template` VALUES (68, 'mybatis', 'serviceImpl.java', 'package ${packageName}.service.impl;\n\nimport java.util.List;\n#foreach ($column in $columns)\n#if($column.javaField == \'createTime\' || $column.javaField == \'updateTime\')\nimport java.util.Date;\n#break\n#end\n#end\nimport ${packageName}.mapper.${ClassName}Mapper;\nimport ${packageName}.domain.${ClassName};\nimport ${packageName}.service.I${ClassName}Service;\nimport\nimport org.springframework.beans.factory.annotation.Autowired; ${packageName}.common.core.text.Convert;\n\n/**\n * <p>\n * ${functionName}Service业务层处理\n * </p>\n * \n * @author ${author}\n * @date ${datetime}\n */\n@Service\npublic class ${ClassName}ServiceImpl implements I${ClassName}Service {\n\n    @Autowired\n    private ${ClassName}Mapper ${className}Mapper;\n\n    /**\n     * 查询${functionName}\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return ${functionName}\n     */\n    @Override\n    public ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}) {\n        return ${className}Mapper.select${ClassName}ById(${pkColumn.javaField});\n    }\n\n    /**\n     * 查询${functionName}列表\n     * \n     * @param ${className} ${functionName}\n     * @return ${functionName}\n     */\n    @Override\n    public List<${ClassName}> select${ClassName}List(${ClassName} ${className}) {\n        return ${className}Mapper.select${ClassName}List(${className});\n    }\n\n    /**\n     * 新增${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    @Override\n    public int insert${ClassName}(${ClassName} ${className}) {\n#foreach ($column in $columns)\n#if($column.javaField == \'createTime\')\n        ${className}.setCreateTime(new Date());\n#end\n#end\n        return ${className}Mapper.insert${ClassName}(${className});\n    }\n\n    /**\n     * 修改${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    @Override\n    public int update${ClassName}(${ClassName} ${className}) {\n#foreach ($column in $columns)\n#if($column.javaField == \'updateTime\')\n        ${className}.setUpdateTime(new Date());\n#end\n#end\n        return ${className}Mapper.update${ClassName}(${className});\n    }\n\n    /**\n     * 删除${functionName}对象\n     * \n     * @param ids 需要删除的数据ID\n     * @return 结果\n     */\n    @Override\n    public int delete${ClassName}ByIds(String ids) {\n        return ${className}Mapper.delete${ClassName}ByIds(Convert.toStrArray(ids));\n    }\n\n    /**\n     * 删除${functionName}信息\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return 结果\n     */\n    @Override\n    public int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}) {\n        return ${className}Mapper.delete${ClassName}ById(${pkColumn.javaField});\n    }\n\n}', 5, 2762, 106, 'N', '0', 'admin', '2021-01-07 17:30:46', 'admin', '2021-01-07 17:30:58', 'mybatis的业务层实现类');
INSERT INTO `gen_template` VALUES (69, 'mybatis-plus', 'controller.java', 'package ${packageName}.controller;\n\nimport ${packageName}.common.core.controller.BaseController;\nimport ${packageName}.domain.${ClassName};\nimport ${packageName}.service.I${ClassName}Service;\n#if(${swaggerConfig})\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\n#end\nimport org.springframework.util.StringUtils;\nimport org.springframework.web.bind.annotation.*;\n\nimport javax.annotation.Resource;\nimport java.util.Collections;\nimport java.util.List;\n\n/**\n * <p>\n * ${functionName} 前端控制器\n * </p>\n *\n * @author ${author}\n * @date ${datetime}\n */\n@RestController\n@RequestMapping(\"/${moduleName}/${businessName}\")\n#if(${swaggerConfig})\n@Api(value = \"${functionName}相关接口\" , tags = \"${functionName}相关接口\")\n#end\npublic class ${ClassName}Controller extends BaseController {\n\n    @Resource\n    private I${ClassName}Service ${className}Service;\n\n    /**\n     * 根据${pkColumn.javaField}获取${functionName}\n     *\n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return ${functionName}\n     */\n    @GetMapping(\"/get/{${pkColumn.javaField}}\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"根据${pkColumn.javaField}获取${functionName}\" , notes = \"根据${pkColumn.javaField}获取${functionName}\")\n#end\n    public ${ClassName} select${ClassName}ById(@PathVariable(\"${pkColumn.javaField}\") ${pkColumn.javaType} ${pkColumn.javaField}) {\n        return ${className}Service.getById(${pkColumn.javaField});\n    }\n\n    /**\n     * 查询${functionName}列表\n     *\n     * @param ${className} ${functionName}\n     * @return ${functionName}集合\n     */\n    @GetMapping(\"/list\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"查询${functionName}列表\" , notes = \"查询${functionName}列表\")\n#end\n    public List<${ClassName}> select${ClassName}List(${ClassName} ${className}) {\n        return ${className}Service.list();\n    }\n\n    /**\n     * 新增保存${functionName}\n     *\n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    @PostMapping(\"/add\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"新增保存${functionName}\" , notes = \"新增保存${functionName}\")\n#end\n    public boolean insert${ClassName}(@RequestBody ${ClassName} ${className}) {\n        return ${className}Service.save(${className});\n    }\n\n    /**\n     * 修改保存${functionName}\n     *\n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    @PostMapping(\"/edit\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"修改保存${functionName}\" , notes = \"修改保存${functionName}\")\n#end\n    public boolean update${ClassName}ById(@RequestBody ${ClassName} ${className}) {\n        return ${className}Service.updateById(${className});\n    }\n\n    /**\n     * 批量删除${functionName}\n     *\n     * @param ids 需要删除的数据ID\n     * @return 结果\n     */\n    @PostMapping(\"/remove\")\n#if(${swaggerConfig})\n    @ApiOperation(value = \"删除${functionName}\" , notes = \"删除${functionName}\")\n#end\n    public boolean remove${ClassName}ByIds(String ids) {\n        return ${className}Service.removeByIds(Arrays.asList(StringUtils.commaDelimitedListToStringArray(ids)));\n    }\n\n}', 3, 3174, 105, 'N', '0', 'admin', '2021-01-07 17:32:16', 'admin', '2021-02-01 17:59:40', 'mybatis-plus的前端控制器');
INSERT INTO `gen_template` VALUES (70, 'mybatis-plus', 'mapper.java', 'package ${packageName}.mapper;\n\nimport com.baomidou.mybatisplus.core.mapper.BaseMapper;\nimport ${packageName}.domain.${ClassName};\n\n/**\n * <p>\n * ${functionName} BaseMapper\n * </p>\n *\n * @author ${author}\n * @date ${datetime}\n */\npublic interface ${ClassName}Mapper extends BaseMapper<${ClassName}> {\n\n}', 2, 303, 16, 'N', '0', 'admin', '2021-01-07 17:33:30', 'admin', '2021-01-11 16:46:46', 'mybatis-plus的数据层类');
INSERT INTO `gen_template` VALUES (71, 'mybatis', 'mapper.xml', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper\nPUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"${packageName}.mapper.${ClassName}Mapper\">\n    \n    <resultMap type=\"${ClassName}\" id=\"${ClassName}Result\">\n#foreach ($column in $columns)\n        <result property=\"${column.javaField}\"    column=\"${column.columnName}\"    />\n#end\n    \n    <sql id=\"select${ClassName}VO\">\n        select#foreach($column in $columns) $column.columnName#if($velocityCount != $columns.size()),#end#end from ${tableName}\n    </sql>\n\n    <select id=\"select${ClassName}List\" parameterType=\"${ClassName}\" resultMap=\"${ClassName}Result\">\n        <include refid=\"select${ClassName}VO\"/>\n        <where>  \n#foreach($column in $columns)\n#set($queryType=$column.queryType)\n#set($javaField=$column.javaField)\n#set($javaType=$column.javaType)\n#set($columnName=$column.columnName)\n#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})\n#if($column.query)\n#if($column.queryType == \"EQ\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName = #{$javaField}</if>\n#elseif($queryType == \"NE\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName != #{$javaField}</if>\n#elseif($queryType == \"GT\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName &gt; #{$javaField}</if>\n#elseif($queryType == \"GTE\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName &gt;= #{$javaField}</if>\n#elseif($queryType == \"LT\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName &lt; #{$javaField}</if>\n#elseif($queryType == \"LTE\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName &lt;= #{$javaField}</if>\n#elseif($queryType == \"LIKE\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName like concat(\'%\', #{$javaField}, \'%\')</if>\n#elseif($queryType == \"BETWEEN\")\n            <if test=\"params.begin$AttrName != null and params.begin$AttrName != \'\' and params.end$AttrName != null and params.end$AttrName != \'\'\"> and $columnName between #{params.begin$AttrName} and #{params.end$AttrName}</if>\n#end\n#end\n#end\n        </where>\n    </select>\n    \n    <select id=\"select${ClassName}ById\" parameterType=\"${pkColumn.javaType}\" resultMap=\"#if($table.sub)${ClassName}${subClassName}Result#else${ClassName}Result#end\">\n#if($table.crud)\n        <include refid=\"select${ClassName}VO\"/>\n        where ${pkColumn.columnName} = #{${pkColumn.javaField}}\n#end\n    </select>\n        \n    <insert id=\"insert${ClassName}\" parameterType=\"${ClassName}\"#if($pkColumn.increment) useGeneratedKeys=\"true\" keyProperty=\"$pkColumn.javaField\"#end>\n        insert into ${tableName}\n        <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n#foreach($column in $columns)\n#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)\n            <if test=\"$column.javaField != null#if($column.javaType == \'String\' && $column.required) and $column.javaField != \'\'#end\">$column.columnName,</if>\n#end\n#end\n         </trim>\n        <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n#foreach($column in $columns)\n#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)\n            <if test=\"$column.javaField != null#if($column.javaType == \'String\' && $column.required) and $column.javaField != \'\'#end\">#{$column.javaField},</if>\n#end\n#end\n         </trim>\n    </insert>\n\n    <update id=\"update${ClassName}\" parameterType=\"${ClassName}\">\n        update ${tableName}\n        <trim prefix=\"SET\" suffixOverrides=\",\">\n#foreach($column in $columns)\n#if($column.columnName != $pkColumn.columnName)\n            <if test=\"$column.javaField != null#if($column.javaType == \'String\' && $column.required) and $column.javaField != \'\'#end\">$column.columnName = #{$column.javaField},</if>\n#end\n#end\n        </trim>\n        where ${pkColumn.columnName} = #{${pkColumn.javaField}}\n    </update>\n\n    <delete id=\"delete${ClassName}ById\" parameterType=\"${pkColumn.javaType}\">\n        delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}}\n    </delete>\n\n    <delete id=\"delete${ClassName}ByIds\" parameterType=\"String\">\n        delete from ${tableName} where ${pkColumn.columnName} in \n        <foreach item=\"${pkColumn.javaField}\" collection=\"array\" open=\"(\" separator=\",\" close=\")\">\n            #{${pkColumn.javaField}}\n        </foreach>\n    </delete>\n    \n</mapper>', 6, 4789, 96, 'N', '0', 'admin', '2021-01-11 14:14:58', 'admin', '2021-01-11 14:15:09', 'mybatis的xml文件');
INSERT INTO `gen_template` VALUES (72, 'mybatis-plus', 'domain.java', 'package ${packageName}.domain;\n\nimport com.baomidou.mybatisplus.annotation.IdType;\nimport com.baomidou.mybatisplus.annotation.TableId;\nimport com.baomidou.mybatisplus.annotation.TableName;\n#if(${swaggerConfig})\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\n#end\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\nimport lombok.experimental.Accessors;\nimport ${packageName}.common.core.domain.BaseEntity;\n\n#foreach ($import in $importList)\nimport ${import};\n#end\n\n/**\n * <p>\n * ${functionName}\n * </p>\n *\n *@author ${author}\n *@date ${datetime}\n */\n@Data\n@Accessors(chain = true)\n@TableName(\"${tableName}\")\n@EqualsAndHashCode(callSuper = false)\n#if(${swaggerConfig})\n@ApiModel(value = \"${ClassName}${functionName}\", description = \"${functionName}\")\n#end\npublic class ${ClassName} extends BaseEntity {\n\n#foreach ($column in $columns)\n#if(!$table.isSuperColumn($column.javaField))\n    /** $column.columnComment */\n#if($column.isPk())\n    @TableId(type = IdType.AUTO)\n#end\n#if(${swaggerConfig})\n    @ApiModelProperty(\"$column.columnComment\")\n#end\n#if(${excel})\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n    #set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n    #set($comment=$column.columnComment)\n#end\n#if($parentheseIndex != -1)\n    @Excel(name = \"${comment}\", readConverterExp = \"$column.readConverterExp()\")\n#elseif($column.javaType == \'Date\')\n    @Excel(name = \"${comment}\", width = 30, dateFormat = \"yyyy-MM-dd\")\n#else\n    @Excel(name = \"${comment}\")\n#end\n#end\n    private $column.javaType $column.javaField;\n#end\n#end\n\n}', 1, 1637, 64, 'N', '0', 'admin', '2021-01-11 16:48:08', 'admin', '2021-01-22 10:16:58', 'mybatis-plus的实体类');
INSERT INTO `gen_template` VALUES (73, 'mybatis-plus', 'service.java', 'package ${packageName}.service;\n\nimport com.baomidou.mybatisplus.extension.service.IService;\nimport ${packageName}.domain.${ClassName};\n\n/**\n * <p>\n * ${functionName} IService\n * </p>\n * \n * @author ${author}\n * @date ${datetime}\n */\npublic interface I${ClassName}Service extends IService<${ClassName}> {\n\n}', 4, 307, 16, 'N', '0', 'admin', '2021-01-11 16:50:33', 'admin', '2021-01-11 16:50:40', 'mybatis-plus的业务层类');
INSERT INTO `gen_template` VALUES (74, 'mybatis-plus', 'serviceImpl.java', 'package ${packageName}.service.impl;\n\nimport org.springframework.stereotype.Service;\nimport com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;\nimport ${packageName}.mapper.${ClassName}Mapper;\nimport ${packageName}.domain.${ClassName};\nimport ${packageName}.service.I${ClassName}Service;\n\n/**\n * <p>\n * ${functionName}Service业务层处理\n * </p>\n * \n * @author ${author}\n * @date ${datetime}\n */\n@Service\npublic class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service {\n\n}', 5, 544, 20, 'N', '0', 'admin', '2021-01-11 16:51:25', 'admin', '2021-01-11 16:51:41', 'mybatis-plus的业务层实现类');
INSERT INTO `gen_template` VALUES (75, 'mybatis-plus', 'mapper.xml', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper\nPUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"${packageName}.mapper.${ClassName}Mapper\">\n    \n    <resultMap type=\"${ClassName}\" id=\"${ClassName}Result\">\n#foreach ($column in $columns)\n        <result property=\"${column.javaField}\" column=\"${column.columnName}\"/>\n#end\n    </resultMap>\n\n    <sql id=\"select${ClassName}VO\">\n        select#foreach($column in $columns) $column.columnName#if($velocityCount != $columns.size()),#end#end from ${tableName}\n    </sql>\n\n</mapper>', 6, 593, 17, 'N', '0', 'admin', '2021-01-11 16:52:25', 'admin', '2021-01-11 16:52:31', 'mybatis-plus的xml文件');
INSERT INTO `gen_template` VALUES (76, 'ruoyi', 'add.html', '<!DOCTYPE html>\n<html lang=\"zh\" xmlns:th=\"http://www.thymeleaf.org\" >\n<head>\n    <th:block th:include=\"include :: header(\'新增${functionName}\')\" />\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"datetime\")\n    <th:block th:include=\"include :: datetimepicker-css\" />\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"upload\")\n    <th:block th:include=\"include :: bootstrap-fileinput-css\"/>\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"summernote\")\n    <th:block th:include=\"include :: summernote-css\" />\n#break\n#end\n#end\n</head>\n<body class=\"white-bg\">\n    <div class=\"wrapper wrapper-content animated fadeInRight ibox-content\">\n        <form class=\"form-horizontal m\" id=\"form-${businessName}-add\">\n#if($table.sub)\n            <h4 class=\"form-header h4\">${functionName}信息</h4>\n#end\n#foreach($column in $columns)\n#set($field=$column.javaField)\n#if($column.insert && !$column.pk)\n#if(($column.usableColumn) || (!$column.superColumn))\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n#set($comment=$column.columnComment)\n#end\n#set($dictType=$column.dictType)\n#if(\"\" != $treeParentCode && $column.javaField == $treeParentCode)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <div class=\"input-group\">\n#set($BusinessName=$businessName.substring(0,1).toUpperCase() + ${businessName.substring(1)})\n#set($treeId = \"${className}?.${treeCode}\")\n                        <input id=\"treeId\" name=\"${treeParentCode}\" type=\"hidden\" th:value=\"${${treeId}}\"/>\n                        <input class=\"form-control\" type=\"text\" onclick=\"select${BusinessName}Tree()\" id=\"treeName\" readonly=\"true\" th:value=\"${${treeName}}\"#if($column.required) required#end>\n                        <span class=\"input-group-addon\"><i class=\"fa fa-search\"></i></span>\n                    </div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"input\")\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <input name=\"${field}\" class=\"form-control\" type=\"text\"#if($column.required) required#end>\n                </div>\n            </div>\n#elseif($column.htmlType == \"upload\")\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <input type=\"hidden\" name=\"${field}\">\n                    <div class=\"file-loading\">\n                        <input class=\"form-control file-upload\" id=\"${field}\" name=\"file\" type=\"file\">\n                    </div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"summernote\")\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <input type=\"hidden\" class=\"form-control\" name=\"${field}\">\n                    <div class=\"summernote\" id=\"${field}\"></div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"select\" && \"\" != $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <select name=\"${field}\" class=\"form-control m-b\" th:with=\"type=${@dict.getType(\'${dictType}\')}\"#if($column.required) required#end>\n                        <option th:each=\"dict : ${type}\" th:text=\"${dict.dictLabel}\" th:value=\"${dict.dictValue}\"></option>\n                    </select>\n                </div>\n            </div>\n#elseif($column.htmlType == \"select\" && $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <select name=\"${field}\" class=\"form-control m-b\"#if($column.required) required#end>\n                        <option value=\"\">所有</option>\n                    </select>\n                    <span class=\"help-block m-b-none\"><i class=\"fa fa-info-circle\"></i> 代码生成请选择字典属性</span>\n                </div>\n            </div>\n#elseif($column.htmlType == \"checkbox\" && \"\" != $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\" th:with=\"type=${@dict.getType(\'${dictType}\')}\">\n                    <label th:each=\"dict : ${type}\" class=\"check-box\">\n                        <input name=\"${field}\" type=\"checkbox\" th:value=\"${dict.dictValue}\" th:text=\"${dict.dictLabel}\"#if($column.required) required#end>\n                    </label>\n                </div>\n            </div>\n#elseif($column.htmlType == \"checkbox\" && $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <label class=\"check-box\">\n                        <input name=\"${field}\" type=\"checkbox\"#if($column.required) required#end> 无\n                    </label>\n                    <span class=\"help-block m-b-none\"><i class=\"fa fa-info-circle\"></i> 代码生成请选择字典属性</span>\n                </div>\n            </div>\n#elseif($column.htmlType == \"radio\" && \"\" != $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <div class=\"radio-box\" th:each=\"dict : ${@dict.getType(\'${dictType}\')}\">\n                        <input type=\"radio\" th:id=\"${\'${field}_\' + dict.dictCode}\" name=\"${field}\" th:value=\"${dict.dictValue}\" th:checked=\"${dict.default}\"#if($column.required) required#end>\n                        <label th:for=\"${\'${field}_\' + dict.dictCode}\" th:text=\"${dict.dictLabel}\"></label>\n                    </div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"radio\" && $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <div class=\"radio-box\">\n                        <input type=\"radio\" name=\"${field}\" value=\"\"#if($column.required) required#end>\n                        <label th:for=\"${field}\" th:text=\"未知\"></label>\n                    </div>\n                    <span class=\"help-block m-b-none\"><i class=\"fa fa-info-circle\"></i> 代码生成请选择字典属性</span>\n                </div>\n            </div>\n#elseif($column.htmlType == \"datetime\")\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <div class=\"input-group date\">\n                        <input name=\"${field}\" class=\"form-control\" placeholder=\"yyyy-MM-dd\" type=\"text\"#if($column.required) required#end>\n                        <span class=\"input-group-addon\"><i class=\"fa fa-calendar\"></i></span>\n                    </div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"textarea\")\n            <div class=\"form-group\">\n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <textarea name=\"${field}\" class=\"form-control\"#if($column.required) required#end></textarea>\n                </div>\n            </div>\n#end\n#end\n#end\n#end\n#if($table.sub)\n            <h4 class=\"form-header h4\">${subTable.functionName}信息</h4>\n            <div class=\"row\">\n                <div class=\"col-sm-12\">\n                    <button type=\"button\" class=\"btn btn-white btn-sm\" onclick=\"addColumn()\"><i class=\"fa fa-plus\"> 增加</i></button>\n                    <button type=\"button\" class=\"btn btn-white btn-sm\" onclick=\"sub.delColumn()\"><i class=\"fa fa-minus\"> 删除</i></button>\n                    <div class=\"col-sm-12 select-table table-striped\">\n                        <table id=\"bootstrap-table\"></table>\n                    </div>\n                </div>\n            </div>\n#end\n        </form>\n    </div>\n    <th:block th:include=\"include :: footer\" />\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"datetime\")\n    <th:block th:include=\"include :: datetimepicker-js\" />\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"upload\")\n    <th:block th:include=\"include :: bootstrap-fileinput-js\"/>\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"summernote\")\n    <th:block th:include=\"include :: summernote-js\" />\n#break\n#end\n#end\n    <script th:inline=\"javascript\">\n        var prefix = ctx + \"${moduleName}/${businessName}\"\n#if($table.sub)\n#foreach($column in $subTable.columns)\n#if(${column.dictType} != \'\')\n        var ${column.javaField}Datas = [[${@dict.getType(\'${column.dictType}\')}]];\n#end\n#end\n#end\n        $(\"#form-${businessName}-add\").validate({\n            focusCleanup: true\n        });\n\n        function submitHandler() {\n            if ($.validate.form()) {\n                $.operate.save(prefix + \"/add\", $(\'#form-${businessName}-add\').serialize());\n            }\n        }\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"datetime\")\n\n        $(\"input[name=\'$column.javaField\']\").datetimepicker({\n            format: \"yyyy-mm-dd\",\n            minView: \"month\",\n            autoclose: true\n        });\n#end\n#end\n#foreach($column in $columns)\n#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == \"upload\")\n\n        $(\".file-upload\").fileinput({\n            uploadUrl: \'/common/upload\',\n            maxFileCount: 1,\n            autoReplace: true\n        }).on(\'fileuploaded\', function (event, data, previewId, index) {\n            $(\"input[name=\'\" + event.currentTarget.id + \"\']\").val(data.response.url)\n        }).on(\'fileremoved\', function (event, id, index) {\n            $(\"input[name=\'\" + event.currentTarget.id + \"\']\").val(\'\')\n        })\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == \"summernote\")\n\n        $(function() {\n            $(\'.summernote\').summernote({\n                lang: \'zh-CN\',\n                callbacks: {\n                    onChange: function(contents, $edittable) {\n                        $(\"input[name=\'\" + this.id + \"\']\").val(contents);\n                    },\n                    onImageUpload: function(files) {\n                    	var obj = this;\n                    	var data = new FormData();\n                    	data.append(\"file\", files[0]);\n                    	$.ajax({\n                    		type: \"post\",\n                    		url: ctx + \"common/upload\",\n                    		data: data,\n                    		cache: false,\n                    		contentType: false,\n                    		processData: false,\n                    		dataType: \'json\',\n                    		success: function(result) {\n                    			if (result.code == web_status.SUCCESS) {\n                    				$(\'#\' + obj.id).summernote(\'insertImage\', result.url);\n                    			} else {\n                    				$.modal.alertError(result.msg);\n                    			}\n                    		},\n                    		error: function(error) {\n                    			$.modal.alertWarning(\"图片上传失败。\");\n                    		}\n                    	});\n                    }\n                }\n            });\n        });\n#break\n#end\n#end\n#if($table.tree)\n\n        /*${functionName}-新增-选择父部门树*/\n        function select${BusinessName}Tree() {\n            var options = {\n                title: \'${functionName}选择\',\n                width: \"380\",\n                url: prefix + \"/select${BusinessName}Tree/\" + $(\"#treeId\").val(),\n                callBack: doSubmit\n            };\n            $.modal.openOptions(options);\n        }\n\n        function doSubmit(index, layero){\n            var body = layer.getChildFrame(\'body\', index);\n               $(\"#treeId\").val(body.find(\'#treeId\').val());\n               $(\"#treeName\").val(body.find(\'#treeName\').val());\n               layer.close(index);\n        }\n#end\n#if($table.sub)\n\n        $(function() {\n            var options = {\n                pagination: false,\n                showSearch: false,\n                showRefresh: false,\n                showToggle: false,\n                showColumns: false,\n                sidePagination: \"client\",\n                columns: [{\n                    checkbox: true\n                },\n                {\n                    field: \'index\',\n                    align: \'center\',\n                    title: \"序号\",\n                    formatter: function (value, row, index) {\n                    	var columnIndex = $.common.sprintf(\"<input type=\'hidden\' name=\'index\' value=\'%s\'>\", $.table.serialNumber(index));\n                    	return columnIndex + $.table.serialNumber(index);\n                    }\n                },\n#foreach($column in $subTable.columns)\n#set($dictType=$column.dictType)\n#set($javaField=$column.javaField)\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n#set($comment=$column.columnComment)\n#end\n#if($column.pk || $javaField == ${subTableFkclassName})\n#elseif($column.list && \"\" != $dictType)\n                {\n                    field: \'${javaField}\',\n                    align: \'center\',\n                    title: \'${comment}\',\n                    formatter: function(value, row, index) {\n                        var name = $.common.sprintf(\"${subclassName}List[%s].${javaField}\", index);\n                        return $.common.dictToSelect(${javaField}Datas, value, name);\n                    }\n                #if($velocityCount != $subTable.columns.size())},#end\n\n#else\n                {\n                    field: \'${javaField}\',\n                    align: \'center\',\n                    title: \'${comment}\',\n                    formatter: function(value, row, index) {\n                        var html = $.common.sprintf(\"<input class=\'form-control\' type=\'text\' name=\'${subclassName}List[%s].${javaField}\' value=\'%s\'>\", index, value);\n                        return html;\n                    }\n                #if($velocityCount != $subTable.columns.size())},#end\n\n#end\n#end\n                }]\n            };\n            $.table.init(options);\n        });\n\n        function addColumn() {\n            var count = $(\"#\" + table.options.id).bootstrapTable(\'getData\').length;\n            sub.editColumn();\n        	\n            $(\"#\" + table.options.id).bootstrapTable(\'insertRow\', {\n                index: count,\n                row: {\n                    index: $.table.serialNumber(count),\n#foreach($column in $subTable.columns)\n#set($javaField=$column.javaField)\n#if($column.pk || $javaField == ${subTableFkclassName})\n#else\n                    ${javaField}: \"\"#if($velocityCount != $subTable.columns.size()),#end\n\n#end\n#end\n                }\n            });\n        }\n#end\n    </script>\n</body>\n</html>', 8, 16241, 378, 'N', '0', 'admin', '2021-01-11 16:53:42', 'admin', '2021-01-11 16:53:57', 'ruoyi的添加页面');
INSERT INTO `gen_template` VALUES (77, 'ruoyi', 'edit.html', '<!DOCTYPE html>\n<html lang=\"zh\" xmlns:th=\"http://www.thymeleaf.org\" >\n<head>\n    <th:block th:include=\"include :: header(\'修改${functionName}\')\" />\n#foreach($column in $columns)\n#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == \"datetime\")\n    <th:block th:include=\"include :: datetimepicker-css\" />\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"upload\")\n    <th:block th:include=\"include :: bootstrap-fileinput-css\"/>\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"summernote\")\n    <th:block th:include=\"include :: summernote-css\" />\n#break\n#end\n#end\n</head>\n<body class=\"white-bg\">\n    <div class=\"wrapper wrapper-content animated fadeInRight ibox-content\">\n        <form class=\"form-horizontal m\" id=\"form-${businessName}-edit\" th:object=\"${${className}}\">\n#if($table.sub)\n            <h4 class=\"form-header h4\">${functionName}信息</h4>\n#end\n            <input name=\"${pkColumn.javaField}\" th:field=\"*{${pkColumn.javaField}}\" type=\"hidden\">\n#foreach($column in $columns)\n#if($column.edit && !$column.pk)\n#if(($column.usableColumn) || (!$column.superColumn))\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n#set($comment=$column.columnComment)\n#end\n#set($field=$column.javaField)\n#set($dictType=$column.dictType)\n#if(\"\" != $treeParentCode && $column.javaField == $treeParentCode)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <div class=\"input-group\">\n#set($BusinessName=$businessName.substring(0,1).toUpperCase() + ${businessName.substring(1)})\n                        <input id=\"treeId\" name=\"${treeParentCode}\" type=\"hidden\" th:field=\"*{${treeParentCode}}\" />\n                        <input class=\"form-control\" type=\"text\" onclick=\"select${BusinessName}Tree()\" id=\"treeName\" readonly=\"true\" th:field=\"*{parentName}\"#if($column.required) required#end>\n                        <span class=\"input-group-addon\"><i class=\"fa fa-search\"></i></span>\n                    </div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"input\")\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <input name=\"${field}\" th:field=\"*{${field}}\" class=\"form-control\" type=\"text\"#if($column.required) required#end>\n                </div>\n            </div>\n#elseif($column.htmlType == \"upload\")\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <input type=\"hidden\" name=\"${field}\" th:field=\"*{${field}}\">\n                    <div class=\"file-loading\">\n                        <input class=\"form-control file-upload\" id=\"${field}\" name=\"file\" type=\"file\">\n                    </div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"summernote\")\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <input type=\"hidden\" class=\"form-control\" th:field=\"*{${field}}\">\n                    <div class=\"summernote\" id=\"${field}\"></div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"select\" && \"\" != $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <select name=\"${field}\" class=\"form-control m-b\" th:with=\"type=${@dict.getType(\'${dictType}\')}\"#if($column.required) required#end>\n                        <option th:each=\"dict : ${type}\" th:text=\"${dict.dictLabel}\" th:value=\"${dict.dictValue}\" th:field=\"*{${field}}\"></option>\n                    </select>\n                </div>\n            </div>\n#elseif($column.htmlType == \"select\" && $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <select name=\"${field}\" class=\"form-control m-b\"#if($column.required) required#end>\n                        <option value=\"\">所有</option>\n                    </select>\n                    <span class=\"help-block m-b-none\"><i class=\"fa fa-info-circle\"></i> 代码生成请选择字典属性</span>\n                </div>\n            </div>\n#elseif($column.htmlType == \"checkbox\" && \"\" != $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\" th:with=\"type=${@dict.getType(\'${dictType}\')}\">\n                    <label th:each=\"dict : ${type}\" class=\"check-box\">\n                        <input name=\"${field}\" type=\"checkbox\" th:value=\"${dict.dictValue}\" th:text=\"${dict.dictLabel}\" th:attr=\"checked=${${className}.${field}.contains(dict.dictValue)?true:false}\"#if($column.required) required#end>\n                    </label>\n                </div>\n            </div>\n#elseif($column.htmlType == \"checkbox\" && $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <label class=\"check-box\">\n                        <input name=\"${field}\" type=\"checkbox\"#if($column.required) required#end> 无\n                    </label>\n                    <span class=\"help-block m-b-none\"><i class=\"fa fa-info-circle\"></i> 代码生成请选择字典属性</span>\n                </div>\n            </div>\n#elseif($column.htmlType == \"radio\" && \"\" != $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <div class=\"radio-box\" th:each=\"dict : ${@dict.getType(\'${dictType}\')}\">\n                        <input type=\"radio\" th:id=\"${\'${field}_\' + dict.dictCode}\" name=\"${field}\" th:value=\"${dict.dictValue}\" th:field=\"*{${field}}\"#if($column.required) required#end>\n                        <label th:for=\"${\'${field}_\' + dict.dictCode}\" th:text=\"${dict.dictLabel}\"></label>\n                    </div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"radio\" && $dictType)\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <div class=\"radio-box\">\n                        <input type=\"radio\" name=\"${field}\" value=\"\"#if($column.required) required#end>\n                        <label th:for=\"${field}\" th:text=\"未知\"></label>\n                    </div>\n                    <span class=\"help-block m-b-none\"><i class=\"fa fa-info-circle\"></i> 代码生成请选择字典属性</span>\n                </div>\n            </div>\n#elseif($column.htmlType == \"datetime\")\n            <div class=\"form-group\">    \n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <div class=\"input-group date\">\n                        <input name=\"${field}\" th:value=\"${#dates.format(${className}.${field}, \'yyyy-MM-dd\')}\" class=\"form-control\" placeholder=\"yyyy-MM-dd\" type=\"text\"#if($column.required) required#end>\n                        <span class=\"input-group-addon\"><i class=\"fa fa-calendar\"></i></span>\n                    </div>\n                </div>\n            </div>\n#elseif($column.htmlType == \"textarea\")\n            <div class=\"form-group\">\n                <label class=\"col-sm-3 control-label#if($column.required) is-required#end\">${comment}：</label>\n                <div class=\"col-sm-8\">\n                    <textarea name=\"${field}\" class=\"form-control\"#if($column.required) required#end>[[*{${field}}]]</textarea>\n                </div>\n            </div>\n#end\n#end\n#end\n#end\n#if($table.sub)\n            <h4 class=\"form-header h4\">${subTable.functionName}信息</h4>\n            <div class=\"row\">\n                <div class=\"col-sm-12\">\n                    <button type=\"button\" class=\"btn btn-white btn-sm\" onclick=\"addColumn()\"><i class=\"fa fa-plus\"> 增加</i></button>\n                    <button type=\"button\" class=\"btn btn-white btn-sm\" onclick=\"sub.delColumn()\"><i class=\"fa fa-minus\"> 删除</i></button>\n                    <div class=\"col-sm-12 select-table table-striped\">\n                        <table id=\"bootstrap-table\"></table>\n                    </div>\n                </div>\n            </div>\n#end\n        </form>\n    </div>\n    <th:block th:include=\"include :: footer\" />\n#foreach($column in $columns)\n#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == \"datetime\")\n    <th:block th:include=\"include :: datetimepicker-js\" />\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"upload\")\n    <th:block th:include=\"include :: bootstrap-fileinput-js\"/>\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == \"summernote\")\n    <th:block th:include=\"include :: summernote-js\" />\n#break\n#end\n#end\n    <script th:inline=\"javascript\">\n        var prefix = ctx + \"${moduleName}/${businessName}\";\n#if($table.sub)\n#foreach($column in $subTable.columns)\n#if(${column.dictType} != \'\')\n        var ${column.javaField}Datas = [[${@dict.getType(\'${column.dictType}\')}]];\n#end\n#end\n#end\n        $(\"#form-${businessName}-edit\").validate({\n            focusCleanup: true\n        });\n\n        function submitHandler() {\n            if ($.validate.form()) {\n                $.operate.save(prefix + \"/edit\", $(\'#form-${businessName}-edit\').serialize());\n            }\n        }\n#foreach($column in $columns)\n#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == \"datetime\")\n\n        $(\"input[name=\'$column.javaField\']\").datetimepicker({\n            format: \"yyyy-mm-dd\",\n            minView: \"month\",\n            autoclose: true\n        });\n#end\n#end\n#foreach($column in $columns)\n#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == \"upload\")\n\n        $(\".file-upload\").each(function (i) {\n            var val = $(\"input[name=\'\" + this.id + \"\']\").val()\n            $(this).fileinput({\n                \'uploadUrl\': \'/common/upload\',\n                initialPreviewAsData: true,\n                initialPreview: [val],\n                maxFileCount: 1,\n                autoReplace: true\n            }).on(\'fileuploaded\', function (event, data, previewId, index) {\n                $(\"input[name=\'\" + event.currentTarget.id + \"\']\").val(data.response.url)\n            }).on(\'fileremoved\', function (event, id, index) {\n                $(\"input[name=\'\" + event.currentTarget.id + \"\']\").val(\'\')\n            })\n            $(this).fileinput(\'_initFileActions\');\n        });\n#break\n#end\n#end\n#foreach($column in $columns)\n#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == \"summernote\")\n\n        $(function() {\n            $(\'.summernote\').each(function(i) {\n                $(\'#\' + this.id).summernote({\n                    lang: \'zh-CN\',\n                    callbacks: {\n                        onChange: function(contents, $edittable) {\n                            $(\"input[name=\'\" + this.id + \"\']\").val(contents);\n                        },\n                        onImageUpload: function(files) {\n							var obj = this;\n							var data = new FormData();\n							data.append(\"file\", files[0]);\n							$.ajax({\n								type: \"post\",\n								url: ctx + \"common/upload\",\n								data: data,\n								cache: false,\n								contentType: false,\n								processData: false,\n								dataType: \'json\',\n								success: function(result) {\n									if (result.code == web_status.SUCCESS) {\n										$(\'#\' + obj.id).summernote(\'insertImage\', result.url);\n									} else {\n										$.modal.alertError(result.msg);\n									}\n								},\n								error: function(error) {\n									$.modal.alertWarning(\"图片上传失败。\");\n								}\n							});\n						}\n                    }\n                });\n                var content = $(\"input[name=\'\" + this.id + \"\']\").val();\n                $(\'#\' + this.id).summernote(\'code\', content);\n            })\n        });\n#break\n#end\n#end\n#if($table.tree)\n\n        /*${functionName}-新增-选择父部门树*/\n        function select${BusinessName}Tree() {\n            var options = {\n                title: \'${functionName}选择\',\n                width: \"380\",\n                url: prefix + \"/select${BusinessName}Tree/\" + $(\"#treeId\").val(),\n                callBack: doSubmit\n            };\n            $.modal.openOptions(options);\n        }\n\n        function doSubmit(index, layero){\n            var body = layer.getChildFrame(\'body\', index);\n               $(\"#treeId\").val(body.find(\'#treeId\').val());\n               $(\"#treeName\").val(body.find(\'#treeName\').val());\n               layer.close(index);\n        }\n#end\n#if($table.sub)\n\n        $(function() {\n            var options = {\n                data: [[${${className}.${subclassName}List}]],\n                pagination: false,\n                showSearch: false,\n                showRefresh: false,\n                showToggle: false,\n                showColumns: false,\n                sidePagination: \"client\",\n                columns: [{\n                    checkbox: true\n                },\n                {\n                    field: \'index\',\n                    align: \'center\',\n                    title: \"序号\",\n                    formatter: function (value, row, index) {\n                    	var columnIndex = $.common.sprintf(\"<input type=\'hidden\' name=\'index\' value=\'%s\'>\", $.table.serialNumber(index));\n                    	return columnIndex + $.table.serialNumber(index);\n                    }\n                },\n#foreach($column in $subTable.columns)\n#set($dictType=$column.dictType)\n#set($javaField=$column.javaField)\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n#set($comment=$column.columnComment)\n#end\n#if($column.pk || $javaField == ${subTableFkclassName})\n#elseif($column.list && \"\" != $dictType)\n                {\n                    field: \'${javaField}\',\n                    align: \'center\',\n                    title: \'${comment}\',\n                    formatter: function(value, row, index) {\n                        var name = $.common.sprintf(\"${subclassName}List[%s].${javaField}\", index);\n                        return $.common.dictToSelect(${javaField}Datas, value, name);\n                    }\n                #if($velocityCount != $subTable.columns.size())},#end\n\n#else\n                {\n                    field: \'${javaField}\',\n                    align: \'center\',\n                    title: \'${comment}\',\n                    formatter: function(value, row, index) {\n                        var html = $.common.sprintf(\"<input class=\'form-control\' type=\'text\' name=\'${subclassName}List[%s].${javaField}\' value=\'%s\'>\", index, value);\n                        return html;\n                    }\n				#if($velocityCount != $subTable.columns.size())},#end\n\n#end\n#end\n                }]\n            };\n            $.table.init(options);\n        });\n\n        function addColumn() {\n            var count = $(\"#\" + table.options.id).bootstrapTable(\'getData\').length;\n            sub.editColumn();\n        	\n            $(\"#\" + table.options.id).bootstrapTable(\'insertRow\', {\n                index: count,\n                row: {\n                    index: $.table.serialNumber(count),\n#foreach($column in $subTable.columns)\n#set($javaField=$column.javaField)\n#if($column.pk || $javaField == ${subTableFkclassName})\n#else\n                    ${javaField}: \"\"#if($velocityCount != $subTable.columns.size()),#end\n\n#end\n#end\n        	    }\n            });\n        }\n#end\n    </script>\n</body>\n</html>', 9, 16800, 389, 'N', '0', 'admin', '2021-01-12 14:09:11', 'admin', '2021-01-12 14:09:19', 'ruoyi');
INSERT INTO `gen_template` VALUES (78, 'ruoyi', 'list.html', '<!DOCTYPE html>\n<html lang=\"zh\" xmlns:th=\"http://www.thymeleaf.org\" xmlns:shiro=\"http://www.pollix.at/thymeleaf/shiro\">\n<head>\n    <th:block th:include=\"include :: header(\'${functionName}列表\')\" />\n</head>\n<body class=\"gray-bg\">\n     <div class=\"container-div\">\n        <div class=\"row\">\n            <div class=\"col-sm-12 search-collapse\">\n                <form id=\"formId\">\n                    <div class=\"select-list\">\n                        <ul>\n#foreach($column in $columns)\n#if($column.query)\n#set($dictType=$column.dictType)\n#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else  \n#set($comment=$column.columnComment)\n#end  \n#if($column.htmlType == \"input\")\n                            <li>\n                                <label>${comment}：</label>\n                                <input type=\"text\" name=\"${column.javaField}\"/>\n                            </li>\n#elseif(($column.htmlType == \"select\" || $column.htmlType == \"radio\") && \"\" != $dictType)\n                            <li>\n                                <label>${comment}：</label>\n                                <select name=\"${column.javaField}\" th:with=\"type=${@dict.getType(\'${dictType}\')}\">\n                                    <option value=\"\">所有</option>\n                                    <option th:each=\"dict : ${type}\" th:text=\"${dict.dictLabel}\" th:value=\"${dict.dictValue}\"></option>\n                                </select>\n                            </li>\n#elseif(($column.htmlType == \"select\" || $column.htmlType == \"radio\") && $dictType)\n                            <li>\n                                <label>${comment}：</label>\n                                <select name=\"${column.javaField}\">\n                                    <option value=\"\">所有</option>\n                                    <option value=\"-1\">代码生成请选择字典属性</option>\n                                </select>\n                            </li>\n#elseif($column.htmlType == \"datetime\")\n                            <li class=\"select-time\">\n                                <label>${comment}：</label>\n                                <input type=\"text\" class=\"time-input\" id=\"startTime\" placeholder=\"开始时间\" name=\"params[begin${AttrName}]\"/>\n                                <span>-</span>\n                                <input type=\"text\" class=\"time-input\" id=\"endTime\" placeholder=\"结束时间\" name=\"params[end${AttrName}]\"/>\n                            </li>\n#end\n#end\n#end\n                            <li>\n                                <a class=\"btn btn-primary btn-rounded btn-sm\" onclick=\"$.table.search()\"><i class=\"fa fa-search\"></i>&nbsp;搜索</a>\n                                <a class=\"btn btn-warning btn-rounded btn-sm\" onclick=\"$.form.reset()\"><i class=\"fa fa-refresh\"></i>&nbsp;重置</a>\n                            </li>\n                        </ul>\n                    </div>\n                </form>\n            </div>\n\n            <div class=\"btn-group-sm\" id=\"toolbar\" role=\"group\">\n                <a class=\"btn btn-success\" onclick=\"$.operate.add()\" shiro:hasPermission=\"${permissionPrefix}:add\">\n                    <i class=\"fa fa-plus\"></i> 添加\n                </a>\n                <a class=\"btn btn-primary single disabled\" onclick=\"$.operate.edit()\" shiro:hasPermission=\"${permissionPrefix}:edit\">\n                    <i class=\"fa fa-edit\"></i> 修改\n                </a>\n                <a class=\"btn btn-danger multiple disabled\" onclick=\"$.operate.removeAll()\" shiro:hasPermission=\"${permissionPrefix}:remove\">\n                    <i class=\"fa fa-remove\"></i> 删除\n                </a>\n                <a class=\"btn btn-warning\" onclick=\"$.table.exportExcel()\" shiro:hasPermission=\"${permissionPrefix}:export\">\n                    <i class=\"fa fa-download\"></i> 导出\n                </a>\n            </div>\n            <div class=\"col-sm-12 select-table table-striped\">\n                <table id=\"bootstrap-table\"></table>\n            </div>\n        </div>\n    </div>\n    <th:block th:include=\"include :: footer\" />\n    <script th:inline=\"javascript\">\n        var editFlag = [[${@permission.hasPermi(\'${permissionPrefix}:edit\')}]];\n        var removeFlag = [[${@permission.hasPermi(\'${permissionPrefix}:remove\')}]];\n#foreach($column in $columns)\n#if(${column.dictType} != \'\')\n        var ${column.javaField}Datas = [[${@dict.getType(\'${column.dictType}\')}]];\n#end\n#end\n        var prefix = ctx + \"${moduleName}/${businessName}\";\n\n        $(function() {\n            var options = {\n                url: prefix + \"/list\",\n                createUrl: prefix + \"/add\",\n                updateUrl: prefix + \"/edit/{id}\",\n                removeUrl: prefix + \"/remove\",\n                exportUrl: prefix + \"/export\",\n                modalName: \"${functionName}\",\n                columns: [{\n                    checkbox: true\n                },\n#foreach($column in $columns)\n#set($dictType=$column.dictType)\n#set($javaField=$column.javaField)\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n#set($comment=$column.columnComment)\n#end\n#if($column.pk)\n                {\n                    field: \'${javaField}\',\n                    title: \'${comment}\',\n                    visible: false\n                },\n#elseif($column.list && \"\" != $dictType)\n                {\n                    field: \'${javaField}\',\n                    title: \'${comment}\',\n                    formatter: function(value, row, index) {\n                       return $.table.selectDictLabel#if($column.htmlType == \"checkbox\")s#end(${javaField}Datas, value);\n                    }\n                },\n#elseif($column.list && \"\" != $javaField)\n                {\n                    field: \'${javaField}\',\n                    title: \'${comment}\'\n                },\n#end                \n#end\n                {\n                    title: \'操作\',\n                    align: \'center\',\n                    formatter: function(value, row, index) {\n                        var actions = [];\n                        actions.push(\'<a class=\"btn btn-success btn-xs \' + editFlag + \'\" href=\"javascript:void(0)\" onclick=\"$.operate.edit(\\\'\' + row.${pkColumn.javaField} + \'\\\')\"><i class=\"fa fa-edit\"></i>编辑</a> \');\n                        actions.push(\'<a class=\"btn btn-danger btn-xs \' + removeFlag + \'\" href=\"javascript:void(0)\" onclick=\"$.operate.remove(\\\'\' + row.${pkColumn.javaField} + \'\\\')\"><i class=\"fa fa-remove\"></i>删除</a>\');\n                        return actions.join(\'\');\n                    }\n                }]\n            };\n            $.table.init(options);\n        });\n    </script>\n</body>\n</html>', 10, 6939, 149, 'N', '0', 'admin', '2021-01-12 14:09:51', 'admin', '2021-01-12 14:10:00', '');
INSERT INTO `gen_template` VALUES (79, 'ruoyi', 'list-tree.html', '<!DOCTYPE html>\n<html lang=\"zh\" xmlns:th=\"http://www.thymeleaf.org\" xmlns:shiro=\"http://www.pollix.at/thymeleaf/shiro\">\n<head>\n    <th:block th:include=\"include :: header(\'${functionName}列表\')\" />\n</head>\n<body class=\"gray-bg\">\n     <div class=\"container-div\">\n        <div class=\"row\">\n            <div class=\"col-sm-12 search-collapse\">\n                <form id=\"formId\">\n                    <div class=\"select-list\">\n                        <ul>\n#foreach($column in $columns)\n#if($column.query)\n#set($dictType=$column.dictType)\n#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else  \n#set($comment=$column.columnComment)\n#end  \n#if($column.htmlType == \"input\")\n                            <li>\n                                <label>${comment}：</label>\n                                <input type=\"text\" name=\"${column.javaField}\"/>\n                            </li>\n#elseif(($column.htmlType == \"select\" || $column.htmlType == \"radio\") && \"\" != $dictType)\n                            <li>\n                                <label>${comment}：</label>\n                                <select name=\"${column.javaField}\" th:with=\"type=${@dict.getType(\'${dictType}\')}\">\n                                    <option value=\"\">所有</option>\n                                    <option th:each=\"dict : ${type}\" th:text=\"${dict.dictLabel}\" th:value=\"${dict.dictValue}\"></option>\n                                </select>\n                            </li>\n#elseif(($column.htmlType == \"select\" || $column.htmlType == \"radio\") && $dictType)\n                            <li>\n                                <label>${comment}：</label>\n                                <select name=\"${column.javaField}\">\n                                    <option value=\"\">所有</option>\n                                    <option value=\"-1\">代码生成请选择字典属性</option>\n                                </select>\n                            </li>\n#elseif($column.htmlType == \"datetime\")\n                            <li class=\"select-time\">\n                                <label>${comment}：</label>\n                                <input type=\"text\" class=\"time-input\" id=\"startTime\" placeholder=\"开始时间\" name=\"params[begin${AttrName}]\"/>\n                                <span>-</span>\n                                <input type=\"text\" class=\"time-input\" id=\"endTime\" placeholder=\"结束时间\" name=\"params[end${AttrName}]\"/>\n                            </li>                \n#end\n#end\n#end\n                            <li>\n                                <a class=\"btn btn-primary btn-rounded btn-sm\" onclick=\"$.treeTable.search()\"><i class=\"fa fa-search\"></i>&nbsp;搜索</a>\n                                <a class=\"btn btn-warning btn-rounded btn-sm\" onclick=\"$.form.reset()\"><i class=\"fa fa-refresh\"></i>&nbsp;重置</a>\n                            </li>\n                        </ul>\n                    </div>\n                </form>\n            </div>\n\n            <div class=\"btn-group-sm\" id=\"toolbar\" role=\"group\">\n                <a class=\"btn btn-success\" onclick=\"$.operate.add()\" shiro:hasPermission=\"${permissionPrefix}:add\">\n                    <i class=\"fa fa-plus\"></i> 新增\n                </a>\n                <a class=\"btn btn-primary\" onclick=\"$.operate.edit()\" shiro:hasPermission=\"${permissionPrefix}:edit\">\n                    <i class=\"fa fa-edit\"></i> 修改\n                </a>\n                <a class=\"btn btn-info\" id=\"expandAllBtn\">\n                    <i class=\"fa fa-exchange\"></i> 展开/折叠\n                </a>\n            </div>\n            <div class=\"col-sm-12 select-table table-striped\">\n                <table id=\"bootstrap-tree-table\"></table>\n            </div>\n        </div>\n    </div>\n    <th:block th:include=\"include :: footer\" />\n    <script th:inline=\"javascript\">\n        var addFlag = [[${@permission.hasPermi(\'${permissionPrefix}:add\')}]];\n        var editFlag = [[${@permission.hasPermi(\'${permissionPrefix}:edit\')}]];\n        var removeFlag = [[${@permission.hasPermi(\'${permissionPrefix}:remove\')}]];\n#foreach($column in $columns)\n#if(${column.dictType} != \'\')\n        var ${column.javaField}Datas = [[${@dict.getType(\'${column.dictType}\')}]];\n#end\n#end\n        var prefix = ctx + \"${moduleName}/${businessName}\";\n\n        $(function() {\n            var options = {\n                code: \"${treeCode}\",\n                parentCode: \"${treeParentCode}\",\n                expandColumn: \"${expandColumn}\",\n                uniqueId: \"${pkColumn.javaField}\",\n                url: prefix + \"/list\",\n                createUrl: prefix + \"/add/{id}\",\n                updateUrl: prefix + \"/edit/{id}\",\n                removeUrl: prefix + \"/remove/{id}\",\n                exportUrl: prefix + \"/export\",\n                modalName: \"${functionName}\",\n                columns: [{\n                    field: \'selectItem\',\n                    radio: true\n                },\n#foreach($column in $columns)\n#set($dictType=$column.dictType)\n#set($javaField=$column.javaField)\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n#set($comment=$column.columnComment)\n#end\n#if($column.pk)\n#elseif($column.list && \"\" != $dictType)\n                {\n                    field: \'${javaField}\',\n                    title: \'${comment}\',\n                    align: \'left\',\n                    formatter: function(value, row, index) {\n                        return $.table.selectDictLabel#if($column.htmlType == \"checkbox\")s#end(${javaField}Datas, value);\n                    }\n                },\n#elseif($column.list && \"\" != $javaField)\n                {\n                    field: \'${javaField}\',\n                    title: \'${comment}\',\n                    align: \'left\'\n                },\n#end                \n#end\n                {\n                    title: \'操作\',\n                    align: \'center\',\n                    align: \'left\',\n                    formatter: function(value, row, index) {\n                        var actions = [];\n                        actions.push(\'<a class=\"btn btn-success btn-xs \' + editFlag + \'\" href=\"javascript:void(0)\" onclick=\"$.operate.edit(\\\'\' + row.${pkColumn.javaField} + \'\\\')\"><i class=\"fa fa-edit\"></i>编辑</a> \');\n                        actions.push(\'<a class=\"btn btn-info  btn-xs \' + addFlag + \'\" href=\"javascript:void(0)\" onclick=\"$.operate.add(\\\'\' + row.${pkColumn.javaField} + \'\\\')\"><i class=\"fa fa-plus\"></i>新增</a> \');\n                        actions.push(\'<a class=\"btn btn-danger btn-xs \' + removeFlag + \'\" href=\"javascript:void(0)\" onclick=\"$.operate.remove(\\\'\' + row.${pkColumn.javaField} + \'\\\')\"><i class=\"fa fa-remove\"></i>删除</a>\');\n                        return actions.join(\'\');\n                    }\n                }]\n            };\n            $.treeTable.init(options);\n        });\n    </script>\n</body>\n</html>', 11, 7152, 151, 'N', '0', 'admin', '2021-01-12 14:10:35', 'admin', '2021-01-12 14:10:40', '');
INSERT INTO `gen_template` VALUES (80, 'ruoyi', 'tree.html', '<!DOCTYPE html>\n<html lang=\"zh\" xmlns:th=\"http://www.thymeleaf.org\" >\n<head>\n    <th:block th:include=\"include :: header(\'${functionName}树选择\')\" />\n    <th:block th:include=\"include :: ztree-css\" />\n</head>\n<style>\n    body{height:auto;font-family: \"Microsoft YaHei\";}\n    button{font-family: \"SimSun\",\"Helvetica Neue\",Helvetica,Arial;}\n</style>\n<body class=\"hold-transition box box-main\">\n#set($treeId = \"${className}?.\" + $treeCode)\n#set($treeName = \"${className}?.\" + $treeName)\n    <input id=\"treeId\"   name=\"treeId\"    type=\"hidden\" th:value=\"${${treeId}}\"/>\n    <input id=\"treeName\" name=\"treeName\"  type=\"hidden\" th:value=\"${${treeName}}\"/>\n    <div class=\"wrapper\"><div class=\"treeShowHideButton\" onclick=\"$.tree.toggleSearch();\">\n        <label id=\"btnShow\" title=\"显示搜索\" style=\"display:none;\">︾</label>\n        <label id=\"btnHide\" title=\"隐藏搜索\">︽</label>\n    </div>\n    <div class=\"treeSearchInput\" id=\"search\">\n        <label for=\"keyword\">关键字：</label><input type=\"text\" class=\"empty\" id=\"keyword\" maxlength=\"50\">\n        <button class=\"btn\" id=\"btn\" onclick=\"$.tree.searchNode()\"> 搜索 </button>\n    </div>\n    <div class=\"treeExpandCollapse\">\n        <a href=\"#\" onclick=\"$.tree.expand()\">展开</a> /\n        <a href=\"#\" onclick=\"$.tree.collapse()\">折叠</a>\n    </div>\n    <div id=\"tree\" class=\"ztree treeselect\"></div>\n    </div>\n    <th:block th:include=\"include :: footer\" />\n    <th:block th:include=\"include :: ztree-js\" />\n    <script th:inline=\"javascript\">\n        $(function() {\n            var url = ctx + \"${moduleName}/${businessName}/treeData\";\n            var options = {\n                url: url,\n                expandLevel: 2,\n                onClick : zOnClick\n            };\n            $.tree.init(options);\n        });\n\n        function zOnClick(event, treeId, treeNode) {\n            var treeId = treeNode.id;\n            var treeName = treeNode.name;\n            $(\"#treeId\").val(treeId);\n            $(\"#treeName\").val(treeName);\n        }\n    </script>\n</body>\n</html>', 12, 2042, 51, 'N', '0', 'admin', '2021-01-12 14:11:12', 'admin', '2021-01-12 14:11:18', '');
INSERT INTO `gen_template` VALUES (81, 'ruoyi', 'controller.java', 'package ${packageName}.controller;\n\nimport java.util.List;\nimport org.apache.shiro.authz.annotation.RequiresPermissions;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.ui.ModelMap;\nimport org.springframework.web.bind.annotation.GetMapping;\nimport org.springframework.web.bind.annotation.PathVariable;\nimport org.springframework.web.bind.annotation.PostMapping;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.ResponseBody;\nimport com.ruoyi.common.annotation.Log;\nimport com.ruoyi.common.enums.BusinessType;\nimport ${packageName}.domain.${ClassName};\nimport ${packageName}.service.I${ClassName}Service;\nimport com.ruoyi.common.core.controller.BaseController;\nimport com.ruoyi.common.core.domain.AjaxResult;\nimport com.ruoyi.common.utils.poi.ExcelUtil;\n#if($table.crud || $table.sub)\nimport com.ruoyi.common.core.page.TableDataInfo;\n#elseif($table.tree)\nimport com.ruoyi.common.utils.StringUtils;\nimport com.ruoyi.common.core.domain.Ztree;\n#end\n\n/**\n * ${functionName}Controller\n * \n * @author ${author}\n * @date ${datetime}\n */\n@Controller\n@RequestMapping(\"/${moduleName}/${businessName}\")\npublic class ${ClassName}Controller extends BaseController {\n    \n    private static final String PREFIX = \"${moduleName}/${businessName}\";\n\n    @Autowired\n    private I${ClassName}Service ${className}Service;\n\n    /**\n     * ${functionName}列表界面\n     */\n    @RequiresPermissions(\"${permissionPrefix}:view\")\n    @GetMapping()\n    public String ${businessName}() {\n        return PREFIX + \"/${businessName}\";\n    }\n\n#if($table.crud || $table.sub)\n    /**\n     * 查询${functionName}列表\n     */\n    @ResponseBody\n    @PostMapping(\"/list\")\n    @RequiresPermissions(\"${permissionPrefix}:list\")\n    public TableDataInfo list(${ClassName} ${className}) {\n        startPage();\n        List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});\n        return getDataTable(list);\n    }\n#elseif($table.tree)\n    /**\n     * 查询${functionName}树列表\n     */\n    @ResponseBody\n    @PostMapping(\"/list\")\n    @RequiresPermissions(\"${permissionPrefix}:list\")\n    public List<${ClassName}> list(${ClassName} ${className}) {\n        return ${className}Service.select${ClassName}List(${className});\n    }\n#end\n\n    /**\n     * 导出${functionName}列表\n     */\n    @ResponseBody\n    @PostMapping(\"/export\")\n    @RequiresPermissions(\"${permissionPrefix}:export\")\n    @Log(title = \"${functionName}\", businessType = BusinessType.EXPORT)\n    public AjaxResult export(${ClassName} ${className}) {\n        List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});\n        ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);\n        return util.exportExcel(list, \"${businessName}\");\n    }\n\n#if($table.crud || $table.sub)\n    /**\n     * 新增${functionName}\n     */\n    @GetMapping(\"/add\")\n    public String add() {\n        return PREFIX + \"/add\";\n    }\n#elseif($table.tree)\n    /**\n     * 新增${functionName}\n     */\n    @GetMapping(value = { \"/add/{${pkColumn.javaField}}\", \"/add/\" })\n    public String add(@PathVariable(value = \"${pkColumn.javaField}\", required = false) Long ${pkColumn.javaField}, ModelMap mmap) {\n        if (StringUtils.isNotNull(${pkColumn.javaField})) {\n            mmap.put(\"${className}\", ${className}Service.select${ClassName}ById(${pkColumn.javaField}));\n        }\n        return PREFIX + \"/add\";\n    }\n#end\n\n    /**\n     * 新增保存${functionName}\n     */\n    @ResponseBody\n    @PostMapping(\"/add\")\n    @RequiresPermissions(\"${permissionPrefix}:add\")\n    @Log(title = \"${functionName}\", businessType = BusinessType.INSERT)\n    public AjaxResult addSave(${ClassName} ${className}) {\n        return toAjax(${className}Service.insert${ClassName}(${className}));\n    }\n\n    /**\n     * 修改${functionName}\n     */\n    @GetMapping(\"/edit/{${pkColumn.javaField}}\")\n    public String edit(@PathVariable(\"${pkColumn.javaField}\") ${pkColumn.javaType} ${pkColumn.javaField}, ModelMap mmap) {\n        ${ClassName} ${className} = ${className}Service.select${ClassName}ById(${pkColumn.javaField});\n        mmap.put(\"${className}\", ${className});\n        return PREFIX + \"/edit\";\n    }\n\n    /**\n     * 修改保存${functionName}\n     */\n    @ResponseBody\n    @PostMapping(\"/edit\")\n    @RequiresPermissions(\"${permissionPrefix}:edit\")\n    @Log(title = \"${functionName}\", businessType = BusinessType.UPDATE)\n    public AjaxResult editSave(${ClassName} ${className}) {\n        return toAjax(${className}Service.update${ClassName}(${className}));\n    }\n\n#if($table.crud || $table.sub)\n    /**\n     * 删除${functionName}\n     */\n    @ResponseBody\n    @PostMapping( \"/remove\")\n    @RequiresPermissions(\"${permissionPrefix}:remove\")\n    @Log(title = \"${functionName}\", businessType = BusinessType.DELETE)\n    public AjaxResult remove(String ids) {\n        return toAjax(${className}Service.delete${ClassName}ByIds(ids));\n    }\n#elseif($table.tree)\n    /**\n     * 删除\n     */\n    @ResponseBody\n    @GetMapping(\"/remove/{${pkColumn.javaField}}\")\n    @RequiresPermissions(\"${permissionPrefix}:remove\")\n    @Log(title = \"${functionName}\", businessType = BusinessType.DELETE)\n    public AjaxResult remove(@PathVariable(\"${pkColumn.javaField}\") ${pkColumn.javaType} ${pkColumn.javaField}) {\n        return toAjax(${className}Service.delete${ClassName}ById(${pkColumn.javaField}));\n    }\n#end\n#if($table.tree)\n\n    /**\n     * 选择${functionName}树\n     */\n#set($BusinessName=$businessName.substring(0,1).toUpperCase() + ${businessName.substring(1)})\n    @GetMapping(value = { \"/select${BusinessName}Tree/{${pkColumn.javaField}}\", \"/select${BusinessName}Tree/\" })\n    public String select${BusinessName}Tree(@PathVariable(value = \"${pkColumn.javaField}\", required = false) Long ${pkColumn.javaField}, ModelMap mmap) {\n        if (StringUtils.isNotNull(${pkColumn.javaField})) {\n            mmap.put(\"${className}\", ${className}Service.select${ClassName}ById(${pkColumn.javaField}));\n        }\n        return PREFIX + \"/tree\";\n    }\n\n    /**\n     * 加载${functionName}树列表\n     */\n    @ResponseBody\n    @GetMapping(\"/treeData\")\n    public List<Ztree> treeData() {\n        return ${className}Service.select${ClassName}Tree();\n    }\n#end\n\n}', 6, 6376, 188, 'N', '0', 'admin', '2021-01-12 14:13:22', 'admin', '2021-01-12 14:13:29', '');
INSERT INTO `gen_template` VALUES (82, 'ruoyi', 'domain.java', 'package ${packageName}.domain;\n\n#foreach ($import in $importList)\nimport ${import};\n#end\nimport org.apache.commons.lang3.builder.ToStringBuilder;\nimport org.apache.commons.lang3.builder.ToStringStyle;\nimport com.ruoyi.common.annotation.Excel;\n#if($table.crud || $table.sub)\nimport com.ruoyi.common.core.domain.BaseEntity;\n#elseif($table.tree)\nimport com.ruoyi.common.core.domain.TreeEntity;\n#end\n\n/**\n * ${functionName}对象 ${tableName}\n * \n * @author ${author}\n * @date ${datetime}\n */\n#if($table.crud || $table.sub)\n#set($Entity=\"BaseEntity\")\n#elseif($table.tree)\n#set($Entity=\"TreeEntity\")\n#end\npublic class ${ClassName} extends ${Entity} {\n\n#foreach ($column in $columns)\n#if(!$table.isSuperColumn($column.javaField))\n    /** $column.columnComment */\n#if($column.list)\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n#set($comment=$column.columnComment)\n#end\n#if($parentheseIndex != -1)\n    @Excel(name = \"${comment}\", readConverterExp = \"$column.readConverterExp()\")\n#elseif($column.javaType == \'Date\')\n    @Excel(name = \"${comment}\", width = 30, dateFormat = \"yyyy-MM-dd\")\n#else\n    @Excel(name = \"${comment}\")\n#end\n#end\n    private $column.javaType $column.javaField;\n\n#end\n#end\n#if($table.sub)\n    /** $table.subTable.functionName信息 */\n    private List<${subClassName}> ${subclassName}List;\n\n#end\n#foreach ($column in $columns)\n#if(!$table.isSuperColumn($column.javaField))\n#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches(\"[A-Z]\"))\n#set($AttrName=$column.javaField)\n#else\n#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})\n#end\n    public void set${AttrName}($column.javaType $column.javaField)  {\n        this.$column.javaField = $column.javaField;\n    }\n\n    public $column.javaType get${AttrName}()  {\n        return $column.javaField;\n    }\n#end\n#end\n\n#if($table.sub)\n    public List<${subClassName}> get${subClassName}List() {\n        return ${subclassName}List;\n    }\n\n    public void set${subClassName}List(List<${subClassName}> ${subclassName}List) {\n        this.${subclassName}List = ${subclassName}List;\n    }\n\n#end\n    @Override\n    public String toString() {\n        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)\n#foreach ($column in $columns)\n#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches(\"[A-Z]\"))\n#set($AttrName=$column.javaField)\n#else\n#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})\n#end\n            .append(\"${column.javaField}\", get${AttrName}())\n#end\n#if($table.sub)\n            .append(\"${subclassName}List\", get${subClassName}List())\n#end\n            .toString();\n    }\n\n}', 1, 2802, 99, 'N', '0', 'admin', '2021-01-12 14:14:22', 'admin', '2021-01-12 14:14:27', '');
INSERT INTO `gen_template` VALUES (83, 'ruoyi', 'mapper.java', 'package ${packageName}.mapper;\n\nimport java.util.List;\nimport ${packageName}.domain.${ClassName};\n#if($table.sub)\nimport ${packageName}.domain.${subClassName};\n#end\n\n/**\n * ${functionName}Mapper接口\n * \n * @author ${author}\n * @date ${datetime}\n */\npublic interface ${ClassName}Mapper {\n    \n    /**\n     * 查询${functionName}\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return ${functionName}\n     */\n    ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField});\n\n    /**\n     * 查询${functionName}列表\n     * \n     * @param ${className} ${functionName}\n     * @return ${functionName}集合\n     */\n    List<${ClassName}> select${ClassName}List(${ClassName} ${className});\n\n    /**\n     * 新增${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    int insert${ClassName}(${ClassName} ${className});\n\n    /**\n     * 修改${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n    int update${ClassName}(${ClassName} ${className});\n\n    /**\n     * 删除${functionName}\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return 结果\n     */\n    int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField});\n\n    /**\n     * 批量删除${functionName}\n     * \n     * @param ${pkColumn.javaField}s 需要删除的数据ID\n     * @return 结果\n     */\n    int delete${ClassName}ByIds(String[] ${pkColumn.javaField}s);\n#if($table.sub)\n\n    /**\n     * 批量删除${subTable.functionName}\n     * \n     * @param ${pkColumn.javaField}s 需要删除的数据ID\n     * @return 结果\n     */\n    int delete${subClassName}By${subTableFkClassName}s(String[] ${pkColumn.javaField}s);\n    \n    /**\n     * 批量新增${subTable.functionName}\n     * \n     * @param ${subclassName}List ${subTable.functionName}列表\n     * @return 结果\n     */\n    int batch${subClassName}(List<${subClassName}> ${subclassName}List);\n    \n\n    /**\n     * 通过${functionName}ID删除${subTable.functionName}信息\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return 结果\n     */\n    int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField});\n#end\n\n}', 2, 2263, 92, 'N', '0', 'admin', '2021-01-12 14:15:02', 'admin', '2021-01-12 14:15:08', '');
INSERT INTO `gen_template` VALUES (84, 'ruoyi', 'service.java', 'package ${packageName}.service;\n\nimport java.util.List;\nimport ${packageName}.domain.${ClassName};\n#if($table.tree)\nimport com.ruoyi.common.core.domain.Ztree;\n#end\n\n/**\n * ${functionName}Service接口\n * \n * @author ${author}\n * @date ${datetime}\n */\npublic interface I${ClassName}Service {\n    \n    /**\n     * 查询${functionName}\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return ${functionName}\n     */\n     ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField});\n\n    /**\n     * 查询${functionName}列表\n     * \n     * @param ${className} ${functionName}\n     * @return ${functionName}集合\n     */\n     List<${ClassName}> select${ClassName}List(${ClassName} ${className});\n\n    /**\n     * 新增${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n     int insert${ClassName}(${ClassName} ${className});\n\n    /**\n     * 修改${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n     int update${ClassName}(${ClassName} ${className});\n\n    /**\n     * 批量删除${functionName}\n     * \n     * @param ids 需要删除的数据ID\n     * @return 结果\n     */\n     int delete${ClassName}ByIds(String ids);\n\n    /**\n     * 删除${functionName}信息\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return 结果\n     */\n     int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField});\n#if($table.tree)\n\n    /**\n     * 查询${functionName}树列表\n     * \n     * @return 所有${functionName}信息\n     */\n     List<Ztree> select${ClassName}Tree();\n#end\n\n}', 3, 1641, 74, 'N', '0', 'admin', '2021-01-12 14:15:31', 'admin', '2021-01-12 14:15:37', '');
INSERT INTO `gen_template` VALUES (85, 'ruoyi', 'serviceImpl.java', 'package ${packageName}.service.impl;\n\nimport java.util.List;\n#if($table.tree)\nimport java.util.ArrayList;\nimport com.ruoyi.common.core.domain.Ztree;\n#end\n#foreach ($column in $columns)\n#if($column.javaField == \'createTime\' || $column.javaField == \'updateTime\')\nimport com.ruoyi.common.utils.DateUtils;\n#break\n#end\n#end\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n#if($table.sub)\nimport java.util.ArrayList;\nimport com.ruoyi.common.utils.StringUtils;\nimport org.springframework.transaction.annotation.Transactional;\nimport ${packageName}.domain.${subClassName};\n#end\nimport ${packageName}.mapper.${ClassName}Mapper;\nimport ${packageName}.domain.${ClassName};\nimport ${packageName}.service.I${ClassName}Service;\nimport com.ruoyi.common.core.text.Convert;\n\n/**\n * ${functionName}Service业务层处理\n * \n * @author ${author}\n * @date ${datetime}\n */\n@Service\npublic class ${ClassName}ServiceImpl implements I${ClassName}Service {\n\n    @Autowired\n    private ${ClassName}Mapper ${className}Mapper;\n\n    /**\n     * 查询${functionName}\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return ${functionName}\n     */\n    @Override\n    public ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}) {\n        return ${className}Mapper.select${ClassName}ById(${pkColumn.javaField});\n    }\n\n    /**\n     * 查询${functionName}列表\n     * \n     * @param ${className} ${functionName}\n     * @return ${functionName}\n     */\n    @Override\n    public List<${ClassName}> select${ClassName}List(${ClassName} ${className}) {\n        return ${className}Mapper.select${ClassName}List(${className});\n    }\n\n    /**\n     * 新增${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n#if($table.sub)\n    @Transactional\n#end\n    @Override\n    public int insert${ClassName}(${ClassName} ${className}) {\n#foreach ($column in $columns)\n#if($column.javaField == \'createTime\')\n        ${className}.setCreateTime(DateUtils.getNowDate());\n#end\n#end\n#if($table.sub)\n        int rows = ${className}Mapper.insert${ClassName}(${className});\n        insert${subClassName}(${className});\n        return rows;\n#else\n        return ${className}Mapper.insert${ClassName}(${className});\n#end\n    }\n\n    /**\n     * 修改${functionName}\n     * \n     * @param ${className} ${functionName}\n     * @return 结果\n     */\n#if($table.sub)\n    @Transactional\n#end\n    @Override\n    public int update${ClassName}(${ClassName} ${className}) {\n#foreach ($column in $columns)\n#if($column.javaField == \'updateTime\')\n        ${className}.setUpdateTime(DateUtils.getNowDate());\n#end\n#end\n#if($table.sub)\n        ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());\n        insert${subClassName}(${className});\n#end\n        return ${className}Mapper.update${ClassName}(${className});\n    }\n\n    /**\n     * 删除${functionName}对象\n     * \n     * @param ids 需要删除的数据ID\n     * @return 结果\n     */\n#if($table.sub)\n    @Transactional\n#end\n    @Override\n    public int delete${ClassName}ByIds(String ids) {\n#if($table.sub)\n        ${className}Mapper.delete${subClassName}By${subTableFkClassName}s(Convert.toStrArray(ids));\n#end\n        return ${className}Mapper.delete${ClassName}ByIds(Convert.toStrArray(ids));\n    }\n\n    /**\n     * 删除${functionName}信息\n     * \n     * @param ${pkColumn.javaField} ${functionName}ID\n     * @return 结果\n     */\n    @Override\n    public int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}) {\n#if($table.sub)\n        ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});\n#end\n        return ${className}Mapper.delete${ClassName}ById(${pkColumn.javaField});\n    }\n#if($table.tree)\n\n    /**\n     * 查询${functionName}树列表\n     * \n     * @return 所有${functionName}信息\n     */\n    @Override\n    public List<Ztree> select${ClassName}Tree() {\n        List<${ClassName}> ${className}List = ${className}Mapper.select${ClassName}List(new ${ClassName}());\n        List<Ztree> ztrees = new ArrayList<Ztree>();\n        for (${ClassName} ${className} : ${className}List) {\n            Ztree ztree = new Ztree();\n#set($TreeCode=$treeCode.substring(0,1).toUpperCase() + ${treeCode.substring(1)})\n#set($TreeParentCode=$treeParentCode.substring(0,1).toUpperCase() + ${treeParentCode.substring(1)})\n#set($TreeName=$treeName.substring(0,1).toUpperCase() + ${treeName.substring(1)})\n            ztree.setId(${className}.get${TreeCode}());\n            ztree.setpId(${className}.get${TreeParentCode}());\n            ztree.setName(${className}.get${TreeName}());\n            ztree.setTitle(${className}.get${TreeName}());\n            ztrees.add(ztree);\n        }\n        return ztrees;\n    }\n#end\n#if($table.sub)\n\n    /**\n     * 新增${subTable.functionName}信息\n     * \n     * @param ${className} ${functionName}对象\n     */\n    public void insert${subClassName}(${ClassName} ${className}) {\n        List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();\n        Long ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}();\n        if (StringUtils.isNotNull(${subclassName}List)) {\n            List<${subClassName}> list = new ArrayList<${subClassName}>();\n            for (${subClassName} ${subclassName} : ${subclassName}List){\n                ${subclassName}.set${pkColumn.capJavaField}(${pkColumn.javaField});\n                list.add(${subclassName});\n            }\n            if (list.size() > 0) {\n                ${className}Mapper.batch${subClassName}(list);\n            }\n        }\n    }\n#end\n\n}', 4, 5712, 187, 'N', '0', 'admin', '2021-01-12 14:16:01', 'admin', '2021-01-12 14:16:10', '');
INSERT INTO `gen_template` VALUES (86, 'ruoyi', 'sub-domain.java', 'package ${packageName}.domain;\n\n#foreach ($import in $subImportList)\nimport ${import};\n#end\nimport org.apache.commons.lang3.builder.ToStringBuilder;\nimport org.apache.commons.lang3.builder.ToStringStyle;\nimport com.ruoyi.common.annotation.Excel;\nimport com.ruoyi.common.core.domain.BaseEntity;\n\n/**\n * ${subTable.functionName}对象 ${subTableName}\n * \n * @author ${author}\n * @date ${datetime}\n */\npublic class ${subClassName} extends BaseEntity {\n\n#foreach ($column in $subTable.columns)\n#if(!$table.isSuperColumn($column.javaField))\n    /** $column.columnComment */\n#if($column.list)\n#set($parentheseIndex=$column.columnComment.indexOf(\"（\"))\n#if($parentheseIndex != -1)\n#set($comment=$column.columnComment.substring(0, $parentheseIndex))\n#else\n#set($comment=$column.columnComment)\n#end\n#if($parentheseIndex != -1)\n    @Excel(name = \"${comment}\", readConverterExp = \"$column.readConverterExp()\")\n#elseif($column.javaType == \'Date\')\n    @Excel(name = \"${comment}\", width = 30, dateFormat = \"yyyy-MM-dd\")\n#else\n    @Excel(name = \"${comment}\")\n#end\n#end\n    private $column.javaType $column.javaField;\n\n#end\n#end\n#foreach ($column in $subTable.columns)\n#if(!$table.isSuperColumn($column.javaField))\n#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches(\"[A-Z]\"))\n#set($AttrName=$column.javaField)\n#else\n#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})\n#end\n    public void set${AttrName}($column.javaType $column.javaField){\n        this.$column.javaField = $column.javaField;\n    }\n\n    public $column.javaType get${AttrName}(){\n        return $column.javaField;\n    }\n#end\n#end\n\n    @Override\n    public String toString() {\n        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)\n#foreach ($column in $subTable.columns)\n#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches(\"[A-Z]\"))\n#set($AttrName=$column.javaField)\n#else\n#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})\n#end\n            .append(\"${column.javaField}\", get${AttrName}())\n#end\n            .toString();\n    }\n\n}', 5, 2144, 72, 'N', '0', 'admin', '2021-01-12 14:16:39', 'admin', '2021-01-12 14:16:49', '');
INSERT INTO `gen_template` VALUES (87, 'ruoyi', 'sql', '#if(${dbType} == \"mysql\")\n-- 菜单 SQL\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}\', \'${parentMenuId}\', \'1\', \'/${moduleName}/${businessName}\', \'C\', \'0\', \'${permissionPrefix}:view\', \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'${functionName}菜单\');\n\n-- 按钮父菜单ID\nSELECT @parentId := LAST_INSERT_ID();\n\n-- 按钮 SQL\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}查询\', @parentId, \'1\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:list\',         \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}新增\', @parentId, \'2\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:add\',          \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}修改\', @parentId, \'3\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:edit\',         \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}删除\', @parentId, \'4\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:remove\',       \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}导出\', @parentId, \'5\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:export\',       \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\n#elseif(${dbType} == \"oracle\")\n-- 菜单 SQL\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(${table.menuId}, \'${functionName}\', \'${parentMenuId}\', \'1\', \'/${moduleName}/${businessName}\', \'C\', \'0\', \'${permissionPrefix}:view\', \'#\', \'admin\', sysdate, \'ry\', sysdate, \'${functionName}菜单\');\n\n-- 按钮 SQL\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(seq_sys_menu.nextval, \'${functionName}查询\', ${table.menuId}, \'1\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:list\',         \'#\', \'admin\', sysdate, \'ry\', sysdate, \'\');\n\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(seq_sys_menu.nextval, \'${functionName}新增\', ${table.menuId}, \'2\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:add\',          \'#\', \'admin\', sysdate, \'ry\', sysdate, \'\');\n\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(seq_sys_menu.nextval, \'${functionName}修改\', ${table.menuId}, \'3\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:edit\',         \'#\', \'admin\', sysdate, \'ry\', sysdate, \'\');\n\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(seq_sys_menu.nextval, \'${functionName}删除\', ${table.menuId}, \'4\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:remove\',       \'#\', \'admin\', sysdate, \'ry\', sysdate, \'\');\n\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(seq_sys_menu.nextval, \'${functionName}导出\', ${table.menuId}, \'5\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:export\',       \'#\', \'admin\', sysdate, \'ry\', sysdate, \'\');\n\n#if($pkColumn.increment)\n-- ${tableName}主键序列\ncreate sequence seq_${tableName}\nincrement by 1\nstart with 10\nnomaxvalue\nnominvalue\ncache 20;\n#end\n\n#elseif(${dbType} == \"pgsql\")\n-- 菜单 SQL\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}\', \'${parentMenuId}\', \'1\', \'/${moduleName}/${businessName}\', \'C\', \'0\', \'${permissionPrefix}:view\', \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'${functionName}菜单\');\n\n-- 按钮父菜单ID\nSELECT @parentId := LAST_INSERT_ID();\n\n-- 按钮 SQL\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}查询\', @parentId, \'1\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:list\',         \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}新增\', @parentId, \'2\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:add\',          \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}修改\', @parentId, \'3\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:edit\',         \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}删除\', @parentId, \'4\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:remove\',       \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}导出\', @parentId, \'5\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:export\',       \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\n#elseif(${dbType} == \"sqlserver\")\n-- 菜单 SQL\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}\', \'${parentMenuId}\', \'1\', \'/${moduleName}/${businessName}\', \'C\', \'0\', \'${permissionPrefix}:view\', \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'${functionName}菜单\');\n\n-- 按钮父菜单ID\nSELECT @parentId := LAST_INSERT_ID();\n\n-- 按钮 SQL\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}查询\', @parentId, \'1\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:list\',         \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}新增\', @parentId, \'2\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:add\',          \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}修改\', @parentId, \'3\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:edit\',         \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}删除\', @parentId, \'4\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:remove\',       \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\ninsert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)\nvalues(\'${functionName}导出\', @parentId, \'5\',  \'#\',  \'F\', \'0\', \'${permissionPrefix}:export\',       \'#\', \'admin\', \'2018-03-01\', \'ry\', \'2018-03-01\', \'\');\n\n#end', 13, 8185, 104, 'N', '0', 'admin', '2021-01-12 14:17:17', 'admin', '2021-01-12 14:17:24', '');
INSERT INTO `gen_template` VALUES (88, 'ruoyi', 'mapper.xml', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper\nPUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"${packageName}.mapper.${ClassName}Mapper\">\n    \n    <resultMap type=\"${ClassName}\" id=\"${ClassName}Result\">\n#foreach ($column in $columns)\n        <result property=\"${column.javaField}\"    column=\"${column.columnName}\"    />\n#end\n#if($table.tree)\n        <result property=\"parentName\" column=\"parent_name\" />\n#end\n    </resultMap>\n#if($table.sub)\n\n    <resultMap id=\"${ClassName}${subClassName}Result\" type=\"${ClassName}\" extends=\"${ClassName}Result\">\n        <collection property=\"${subclassName}List\" notNullColumn=\"${subTable.pkColumn.columnName}\" javaType=\"java.util.List\" resultMap=\"${subClassName}Result\" />\n    </resultMap>\n\n    <resultMap type=\"${subClassName}\" id=\"${subClassName}Result\">\n#foreach ($column in $subTable.columns)\n        <result property=\"${column.javaField}\"    column=\"${column.columnName}\"    />\n#end\n    </resultMap>\n#end\n\n    <sql id=\"select${ClassName}VO\">\n        select#foreach($column in $columns) $column.columnName#if($velocityCount != $columns.size()),#end#end from ${tableName}\n    </sql>\n\n    <select id=\"select${ClassName}List\" parameterType=\"${ClassName}\" resultMap=\"${ClassName}Result\">\n        <include refid=\"select${ClassName}VO\"/>\n        <where>  \n#foreach($column in $columns)\n#set($queryType=$column.queryType)\n#set($javaField=$column.javaField)\n#set($javaType=$column.javaType)\n#set($columnName=$column.columnName)\n#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})\n#if($column.query)\n#if($column.queryType == \"EQ\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName = #{$javaField}</if>\n#elseif($queryType == \"NE\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName != #{$javaField}</if>\n#elseif($queryType == \"GT\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName &gt; #{$javaField}</if>\n#elseif($queryType == \"GTE\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName &gt;= #{$javaField}</if>\n#elseif($queryType == \"LT\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName &lt; #{$javaField}</if>\n#elseif($queryType == \"LTE\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName &lt;= #{$javaField}</if>\n#elseif($queryType == \"LIKE\")\n            <if test=\"$javaField != null #if($javaType == \'String\' ) and $javaField.trim() != \'\'#end\"> and $columnName like concat(\'%\', #{$javaField}, \'%\')</if>\n#elseif($queryType == \"BETWEEN\")\n            <if test=\"params.begin$AttrName != null and params.begin$AttrName != \'\' and params.end$AttrName != null and params.end$AttrName != \'\'\"> and $columnName between #{params.begin$AttrName} and #{params.end$AttrName}</if>\n#end\n#end\n#end\n        </where>\n#if($table.tree)\n        order by ${tree_parent_code}\n#end\n    </select>\n    \n    <select id=\"select${ClassName}ById\" parameterType=\"${pkColumn.javaType}\" resultMap=\"#if($table.sub)${ClassName}${subClassName}Result#else${ClassName}Result#end\">\n#if($table.crud)\n        <include refid=\"select${ClassName}VO\"/>\n        where ${pkColumn.columnName} = #{${pkColumn.javaField}}\n#elseif($table.tree)\n        select#foreach($column in $columns) t.$column.columnName,#end p.${tree_name} as parent_name\n        from ${tableName} t\n        left join ${tableName} p on p.${pkColumn.columnName} = t.${tree_parent_code}\n        where t.${pkColumn.columnName} = #{${pkColumn.javaField}}\n#elseif($table.sub)\n        select#foreach($column in $columns) a.$column.columnName#if($velocityCount != $columns.size()),#end#end,\n           #foreach($column in $subTable.columns) b.$column.columnName#if($velocityCount != $subTable.columns.size()),#end#end\n\n        from ${tableName} a\n        left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName}\n        where a.${pkColumn.columnName} = #{${pkColumn.javaField}}\n#end\n    </select>\n        \n    <insert id=\"insert${ClassName}\" parameterType=\"${ClassName}\"#if($pkColumn.increment) useGeneratedKeys=\"true\" keyProperty=\"$pkColumn.javaField\"#end>\n        insert into ${tableName}\n        <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n#foreach($column in $columns)\n#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)\n            <if test=\"$column.javaField != null#if($column.javaType == \'String\' && $column.required) and $column.javaField != \'\'#end\">$column.columnName,</if>\n#end\n#end\n         </trim>\n        <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n#foreach($column in $columns)\n#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)\n            <if test=\"$column.javaField != null#if($column.javaType == \'String\' && $column.required) and $column.javaField != \'\'#end\">#{$column.javaField},</if>\n#end\n#end\n         </trim>\n    </insert>\n\n    <update id=\"update${ClassName}\" parameterType=\"${ClassName}\">\n        update ${tableName}\n        <trim prefix=\"SET\" suffixOverrides=\",\">\n#foreach($column in $columns)\n#if($column.columnName != $pkColumn.columnName)\n            <if test=\"$column.javaField != null#if($column.javaType == \'String\' && $column.required) and $column.javaField != \'\'#end\">$column.columnName = #{$column.javaField},</if>\n#end\n#end\n        </trim>\n        where ${pkColumn.columnName} = #{${pkColumn.javaField}}\n    </update>\n\n    <delete id=\"delete${ClassName}ById\" parameterType=\"${pkColumn.javaType}\">\n        delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}}\n    </delete>\n\n    <delete id=\"delete${ClassName}ByIds\" parameterType=\"String\">\n        delete from ${tableName} where ${pkColumn.columnName} in \n        <foreach item=\"${pkColumn.javaField}\" collection=\"array\" open=\"(\" separator=\",\" close=\")\">\n            #{${pkColumn.javaField}}\n        </foreach>\n    </delete>\n#if($table.sub)\n    \n    <delete id=\"delete${subClassName}By${subTableFkClassName}s\" parameterType=\"String\">\n        delete from ${subTableName} where ${subTableFkName} in \n        <foreach item=\"${subTableFkclassName}\" collection=\"array\" open=\"(\" separator=\",\" close=\")\">\n            #{${subTableFkclassName}}\n        </foreach>\n    </delete>\n\n    <delete id=\"delete${subClassName}By${subTableFkClassName}\" parameterType=\"Long\">\n        delete from ${subTableName} where ${subTableFkName} = #{${subTableFkclassName}}\n    </delete>\n\n    <insert id=\"batch${subClassName}\">\n        insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($velocityCount != $subTable.columns.size()),#end#end) values\n		<foreach item=\"item\" index=\"index\" collection=\"list\" separator=\",\">\n            (#foreach($column in $subTable.columns) #{item.$column.javaField}#if($velocityCount != $subTable.columns.size()),#end#end)\n        </foreach>\n    </insert>\n#end\n\n</mapper>', 7, 7175, 147, 'N', '0', 'admin', '2021-01-12 14:17:54', 'admin', '2021-01-12 14:18:03', '');

-- ----------------------------
-- Table structure for sys_config
-- ----------------------------
DROP TABLE IF EXISTS `sys_config`;
CREATE TABLE `sys_config`  (
  `config_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '参数主键',
  `config_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '参数名称',
  `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '参数键名',
  `config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '参数键值',
  `is_built_in` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'N' COMMENT '系统内置（Y是 N否）',
  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联的字典类型',
  `input_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '输入类型（0-text 1-radio 2-select）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 108 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数配置表' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of sys_config
-- ----------------------------
INSERT INTO `sys_config` VALUES (100, '代码生成默认作者', 'gen_author', 'walming', 'Y', NULL, '0', 'admin', '2020-11-14 11:24:57', 'admin', '2021-04-14 15:33:31', '代码生成默认作者');
INSERT INTO `sys_config` VALUES (101, '默认生成包路径', 'gen_package_name', 'com.hwasee.hsc', 'Y', NULL, '0', 'admin', '2020-11-14 11:32:13', 'admin', '2021-04-14 15:33:31', '代码生成默认生成包路径');
INSERT INTO `sys_config` VALUES (102, '代码生成模版', 'gen_template', 'mybatis-plus', 'Y', 'template_type', '1', 'admin', '2020-11-14 11:33:15', 'admin', '2021-04-14 15:33:31', '代码生成模版（mybatis、 mybatis-plus、ruoyi）');
INSERT INTO `sys_config` VALUES (103, '自动去除表前缀', 'gen_auto_remove_pre', 'Y', 'Y', 'sys_yes_no', '1', 'admin', '2020-11-14 11:34:16', 'admin', '2020-12-25 15:39:20', '代码生成自动去除表前缀（ Y 是 N 否 ）');
INSERT INTO `sys_config` VALUES (104, '代码生成表前缀', 'gen_table_prefix', 'c_', 'Y', NULL, '0', 'admin', '2020-11-14 11:35:16', 'admin', '2021-01-22 10:31:08', '代码生成表前缀');
INSERT INTO `sys_config` VALUES (105, '代码预览主题', 'gen_preview_theme', 'material', 'Y', 'preview_theme', '2', 'admin', '2020-11-14 11:36:00', 'admin', '2021-03-03 20:23:35', '默认代码预览主题');
INSERT INTO `sys_config` VALUES (106, '是否生成swagger注解', 'gen_swagger_enable', 'Y', 'Y', 'sys_yes_no', '1', 'admin', '2020-11-14 11:38:11', 'admin', '2021-01-22 10:52:39', '代码生成是否生成swagger注解（Y 是， N 否）');
INSERT INTO `sys_config` VALUES (107, '是否生成excel注解', 'gen_excel_enable', 'N', 'Y', 'sys_yes_no', '1', 'admin', '2020-11-18 10:19:12', 'admin', '2021-02-02 12:30:32', '代码生成是否生成excel注解（Y 是， N 否）');

-- ----------------------------
-- Table structure for sys_data_source
-- ----------------------------
DROP TABLE IF EXISTS `sys_data_source`;
CREATE TABLE `sys_data_source`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据源主键',
  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据库名称',
  `db_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据库名称',
  `oracle_conn_mode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'oracle连接方式',
  `service_name_or_sid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'oracle连接服务名或SID',
  `host` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主机地址',
  `port` int(11) NULL DEFAULT NULL COMMENT '端口号',
  `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接用户名',
  `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接密码',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注信息',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '表数据源配置' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of sys_data_source
-- ----------------------------
INSERT INTO `sys_data_source` VALUES (0, 'code_generator', 'mysql', 'service_name', '', '114.55.137.209', 3306, 'generator', 'generator', '0', 'admin', '2020-11-10 22:41:17', 'admin', '2020-11-10 22:41:17', '演示数据源');

-- ----------------------------
-- Table structure for sys_dict_data
-- ----------------------------
DROP TABLE IF EXISTS `sys_dict_data`;
CREATE TABLE `sys_dict_data`  (
  `dict_code` int(11) NOT NULL AUTO_INCREMENT COMMENT '字典编码',
  `dict_sort` int(11) NULL DEFAULT NULL COMMENT '字典排序',
  `dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典标签',
  `dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典键值',
  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典类型',
  `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '样式属性（其他样式扩展）',
  `list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表格字典样式',
  `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'N' COMMENT '系统默认值（Y是 N否）',
  `is_built_in` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'N' COMMENT '系统内置（Y是 N否）',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注信息',
  PRIMARY KEY (`dict_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 134 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of sys_dict_data
-- ----------------------------
INSERT INTO `sys_dict_data` VALUES (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', 'Y', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '男');
INSERT INTO `sys_dict_data` VALUES (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '女');
INSERT INTO `sys_dict_data` VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '未知');
INSERT INTO `sys_dict_data` VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', 'Y', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '显示');
INSERT INTO `sys_dict_data` VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '隐藏');
INSERT INTO `sys_dict_data` VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '正常');
INSERT INTO `sys_dict_data` VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '停用');
INSERT INTO `sys_dict_data` VALUES (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '正常');
INSERT INTO `sys_dict_data` VALUES (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '暂停');
INSERT INTO `sys_dict_data` VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '默认');
INSERT INTO `sys_dict_data` VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '系统');
INSERT INTO `sys_dict_data` VALUES (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '是');
INSERT INTO `sys_dict_data` VALUES (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '否');
INSERT INTO `sys_dict_data` VALUES (14, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '成功');
INSERT INTO `sys_dict_data` VALUES (15, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '失败');
INSERT INTO `sys_dict_data` VALUES (16, 1, 'MySQL', 'mysql', 'sys_db_type', '', 'default', 'Y', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', 'MySQL');
INSERT INTO `sys_dict_data` VALUES (17, 2, 'Oracle', 'oracle', 'sys_db_type', '', 'default', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', 'Oracle');
INSERT INTO `sys_dict_data` VALUES (18, 1, '服务名', 'service_name', 'sys_oracle_mode', NULL, 'default', 'Y', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', '服务名');
INSERT INTO `sys_dict_data` VALUES (19, 2, 'SID', 'sid', 'sys_oracle_mode', NULL, 'default', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', 'SID');
INSERT INTO `sys_dict_data` VALUES (20, 2, 'SQLite', 'sqlite', 'sys_db_type', '', 'default', 'N', 'Y', '1', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', 'SQLite');
INSERT INTO `sys_dict_data` VALUES (21, 4, 'PostgreSQL', 'pgsql', 'sys_db_type', '', 'default', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', 'PostgreSQL');
INSERT INTO `sys_dict_data` VALUES (22, 5, 'DB2', 'db2', 'sys_db_type', '', 'default', 'N', 'Y', '1', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', 'DB2');
INSERT INTO `sys_dict_data` VALUES (23, 6, 'SQL Server', 'sqlserver', 'sys_db_type', '', 'default', 'N', 'Y', '0', 'admin', '2020-11-10 22:04:47', 'admin', '2020-11-10 22:04:47', 'SQL Server');
INSERT INTO `sys_dict_data` VALUES (25, 1, '默认', 'default', 'dict_list_class', '', 'default', 'Y', 'Y', '0', 'admin', '2020-11-11 17:18:52', NULL, NULL, '默认');
INSERT INTO `sys_dict_data` VALUES (26, 2, '主要', 'primary', 'dict_list_class', '', 'primary', 'N', 'Y', '0', 'admin', '2020-11-11 17:19:24', NULL, NULL, '主要');
INSERT INTO `sys_dict_data` VALUES (27, 3, '成功', 'success', 'dict_list_class', '', 'success', 'N', 'Y', '0', 'admin', '2020-11-11 17:19:57', NULL, NULL, '成功');
INSERT INTO `sys_dict_data` VALUES (28, 4, '信息', 'info', 'dict_list_class', '', 'info', 'N', 'Y', '0', 'admin', '2020-11-11 17:20:27', NULL, NULL, '信息');
INSERT INTO `sys_dict_data` VALUES (29, 5, '警告', 'warning', 'dict_list_class', '', 'warning', 'N', 'Y', '0', 'admin', '2020-11-11 17:20:57', NULL, NULL, '警告');
INSERT INTO `sys_dict_data` VALUES (30, 6, '危险', 'danger', 'dict_list_class', '', 'danger', 'N', 'Y', '0', 'admin', '2020-11-11 17:21:22', NULL, NULL, '危险');
INSERT INTO `sys_dict_data` VALUES (31, 1, 'mybatis', 'mybatis', 'template_type', '', 'default', 'N', 'Y', '0', 'admin', '2020-11-11 17:26:26', 'admin', '2020-11-12 21:40:40', '标准 mybatis crud 模版');
INSERT INTO `sys_dict_data` VALUES (32, 0, '3024-day', '3024-day', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:31', '3024-day');
INSERT INTO `sys_dict_data` VALUES (33, 1, '3024-night', '3024-night', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:35', '3024-night');
INSERT INTO `sys_dict_data` VALUES (34, 2, 'abcdef', 'abcdef', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'abcdef');
INSERT INTO `sys_dict_data` VALUES (35, 3, 'ambiance-mobile', 'ambiance-mobile', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'ambiance-mobile');
INSERT INTO `sys_dict_data` VALUES (36, 4, 'ambiance', 'ambiance', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'ambiance');
INSERT INTO `sys_dict_data` VALUES (37, 5, 'base16-dark', 'base16-dark', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'base16-dark');
INSERT INTO `sys_dict_data` VALUES (38, 6, 'base16-light', 'base16-light', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'base16-light');
INSERT INTO `sys_dict_data` VALUES (39, 7, 'bespin', 'bespin', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'bespin');
INSERT INTO `sys_dict_data` VALUES (40, 8, 'blackboard', 'blackboard', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'blackboard');
INSERT INTO `sys_dict_data` VALUES (41, 9, 'cobalt', 'cobalt', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'cobalt');
INSERT INTO `sys_dict_data` VALUES (42, 10, 'colorforth', 'colorforth', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'colorforth');
INSERT INTO `sys_dict_data` VALUES (43, 11, 'dracula', 'dracula', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'dracula');
INSERT INTO `sys_dict_data` VALUES (44, 12, 'duotone-dark', 'duotone-dark', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'duotone-dark');
INSERT INTO `sys_dict_data` VALUES (45, 13, 'duotone-light', 'duotone-light', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'duotone-light');
INSERT INTO `sys_dict_data` VALUES (46, 14, 'eclipse', 'eclipse', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'eclipse');
INSERT INTO `sys_dict_data` VALUES (47, 15, 'elegant', 'elegant', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'elegant');
INSERT INTO `sys_dict_data` VALUES (48, 16, 'erlang-dark', 'erlang-dark', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'erlang-dark');
INSERT INTO `sys_dict_data` VALUES (49, 17, 'hopscotch', 'hopscotch', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'hopscotch');
INSERT INTO `sys_dict_data` VALUES (50, 18, 'icecoder', 'icecoder', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'icecoder');
INSERT INTO `sys_dict_data` VALUES (51, 19, 'isotope', 'isotope', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'isotope');
INSERT INTO `sys_dict_data` VALUES (52, 20, 'lesser-dark', 'lesser-dark', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'lesser-dark');
INSERT INTO `sys_dict_data` VALUES (53, 21, 'liquibyte', 'liquibyte', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'liquibyte');
INSERT INTO `sys_dict_data` VALUES (54, 22, 'material', 'material', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'material');
INSERT INTO `sys_dict_data` VALUES (55, 23, 'mbo', 'mbo', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'mbo');
INSERT INTO `sys_dict_data` VALUES (56, 24, 'mdn-like', 'mdn-like', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'mdn-like');
INSERT INTO `sys_dict_data` VALUES (57, 25, 'midnight', 'midnight', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'midnight');
INSERT INTO `sys_dict_data` VALUES (58, 26, 'monokai', 'monokai', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'monokai');
INSERT INTO `sys_dict_data` VALUES (59, 27, 'neat', 'neat', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'neat');
INSERT INTO `sys_dict_data` VALUES (60, 28, 'neo', 'neo', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'neo');
INSERT INTO `sys_dict_data` VALUES (61, 29, 'night', 'night', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'night');
INSERT INTO `sys_dict_data` VALUES (62, 30, 'panda-syntax', 'panda-syntax', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'panda-syntax');
INSERT INTO `sys_dict_data` VALUES (63, 31, 'paraiso-dark', 'paraiso-dark', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'paraiso-dark');
INSERT INTO `sys_dict_data` VALUES (64, 32, 'paraiso-light', 'paraiso-light', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'paraiso-light');
INSERT INTO `sys_dict_data` VALUES (65, 33, 'pastel-on-dark', 'pastel-on-dark', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'pastel-on-dark');
INSERT INTO `sys_dict_data` VALUES (66, 34, 'railscasts', 'railscasts', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'railscasts');
INSERT INTO `sys_dict_data` VALUES (67, 35, 'rubyblue', 'rubyblue', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'rubyblue');
INSERT INTO `sys_dict_data` VALUES (68, 36, 'seti', 'seti', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'seti');
INSERT INTO `sys_dict_data` VALUES (69, 37, 'solarized', 'solarized', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'solarized');
INSERT INTO `sys_dict_data` VALUES (70, 38, 'the-matrix', 'the-matrix', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'the-matrix');
INSERT INTO `sys_dict_data` VALUES (71, 39, 'tomorrow-night-bright', 'tomorrow-night-bright', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'tomorrow-night-bright');
INSERT INTO `sys_dict_data` VALUES (72, 40, 'tomorrow-night-eighties', 'tomorrow-night-eighties', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'tomorrow-night-eighties');
INSERT INTO `sys_dict_data` VALUES (73, 41, 'ttcn', 'ttcn', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'ttcn');
INSERT INTO `sys_dict_data` VALUES (74, 42, 'twilight', 'twilight', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'twilight');
INSERT INTO `sys_dict_data` VALUES (75, 43, 'vibrant-ink', 'vibrant-ink', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'vibrant-ink');
INSERT INTO `sys_dict_data` VALUES (76, 44, 'xq-dark', 'xq-dark', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'xq-dark');
INSERT INTO `sys_dict_data` VALUES (77, 45, 'xq-light', 'xq-light', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'xq-light');
INSERT INTO `sys_dict_data` VALUES (78, 46, 'yeti', 'yeti', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'yeti');
INSERT INTO `sys_dict_data` VALUES (79, 47, 'zenburn', 'zenburn', 'preview_theme', '', 'default', 'N', 'Y', '0', 'admin', '2021-01-29 17:48:35', '', '2021-01-29 17:35:37', 'zenburn');
INSERT INTO `sys_dict_data` VALUES (127, 2, 'mybatis-plus', 'mybatis-plus', 'template_type', '', 'default', 'Y', 'Y', '0', 'admin', '2020-11-12 21:40:31', NULL, NULL, '标准 mybatis-plus crud 模版');
INSERT INTO `sys_dict_data` VALUES (128, 3, 'ruoyi', 'ruoyi', 'template_type', '', 'default', 'N', 'Y', '0', 'admin', '2020-11-15 00:48:35', 'admin', '2020-11-15 00:48:47', 'ruoyi');
INSERT INTO `sys_dict_data` VALUES (129, 1, '系统配置', '1', 'config_type', '', 'default', 'Y', 'Y', '0', 'admin', '2020-11-15 09:13:26', NULL, NULL, '系统配置');
INSERT INTO `sys_dict_data` VALUES (130, 2, '生成配置', '2', 'config_type', '', 'default', 'N', 'Y', '0', 'admin', '2020-11-15 09:13:43', NULL, NULL, '生成配置');
INSERT INTO `sys_dict_data` VALUES (131, 3, '下拉框', '2', 'control_type', '', 'default', 'N', 'Y', '0', 'admin', '2020-11-19 09:29:50', 'admin', '2021-01-07 15:30:38', '系统下拉框控件');
INSERT INTO `sys_dict_data` VALUES (132, 2, '单选框', '1', 'control_type', '', 'default', 'N', 'Y', '0', 'admin', '2020-11-19 09:30:42', 'admin', '2021-01-07 15:30:38', '系统单选框组控件');
INSERT INTO `sys_dict_data` VALUES (133, 1, '文本框', '0', 'control_type', '', 'default', 'Y', 'Y', '0', 'admin', '2020-11-19 09:31:30', 'admin', '2021-01-07 15:30:38', '系统默认输入框组件');

-- ----------------------------
-- Table structure for sys_dict_type
-- ----------------------------
DROP TABLE IF EXISTS `sys_dict_type`;
CREATE TABLE `sys_dict_type`  (
  `dict_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '字典主键',
  `dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典名称',
  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典类型',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注信息',
  PRIMARY KEY (`dict_id`) USING BTREE,
  UNIQUE INDEX `dict_type`(`dict_type`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of sys_dict_type
-- ----------------------------
INSERT INTO `sys_dict_type` VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '2020-11-10 22:04:40', 'admin', '2020-11-10 22:04:40', '用户性别');
INSERT INTO `sys_dict_type` VALUES (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '菜单状态');
INSERT INTO `sys_dict_type` VALUES (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '系统开关');
INSERT INTO `sys_dict_type` VALUES (4, '任务状态', 'sys_job_status', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '任务状态');
INSERT INTO `sys_dict_type` VALUES (5, '任务分组', 'sys_job_group', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '任务分组');
INSERT INTO `sys_dict_type` VALUES (6, '系统是否', 'sys_yes_no', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '系统是否');
INSERT INTO `sys_dict_type` VALUES (7, '模版类型', 'template_type', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-12 21:38:09', '代码生成模版类型');
INSERT INTO `sys_dict_type` VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '通知状态');
INSERT INTO `sys_dict_type` VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '操作类型');
INSERT INTO `sys_dict_type` VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '系统状态');
INSERT INTO `sys_dict_type` VALUES (11, '数据库类型', 'sys_db_type', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', '数据库类型');
INSERT INTO `sys_dict_type` VALUES (12, 'Oracle连接方式', 'sys_oracle_mode', '0', 'admin', '2020-11-10 22:04:46', 'admin', '2020-11-10 22:04:46', 'Oracle连接方式');
INSERT INTO `sys_dict_type` VALUES (13, '预览主题', 'preview_theme', '0', 'admin', '2020-11-11 13:43:36', 'admin', '2020-11-11 13:43:45', '代码生成预览主题');
INSERT INTO `sys_dict_type` VALUES (14, '回显样式', 'dict_list_class', '0', 'admin', '2020-11-11 17:14:41', NULL, NULL, '字典数据表格回显样式');
INSERT INTO `sys_dict_type` VALUES (15, '配置类型', 'config_type', '0', 'admin', '2020-11-13 14:52:07', 'admin', '2020-11-15 09:15:01', '配置类型');
INSERT INTO `sys_dict_type` VALUES (16, '控件类型', 'control_type', '0', 'admin', '2020-11-19 09:29:12', 'admin', '2021-01-07 15:30:38', '管理控件的类型（select,radio,input）');

SET FOREIGN_KEY_CHECKS = 1;
